トップページ > プログラム > 2016年04月04日 > jBujPHQXH

書き込み順位&時間帯一覧

10 位/206 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000041005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん (jp 0Haf-e5NB)
C++相談室 part124 [無断転載禁止]©2ch.net

書き込みレス一覧

C++相談室 part124 [無断転載禁止]©2ch.net
10 :デフォルトの名無しさん (jp 0Haf-e5NB)[]:2016/04/04(月) 20:11:57.58 ID:jBujPHQXH
>>7 >>9
ごめん。complex<U>→complex<double> だった。

template <class T, class U>
std::complex< decltype(std::declval<T>()*std::declval<U>() )>
operator * (const std::complex<T>& z1, const std::complex<U>& z2)
{
return std::complex< decltype(std::declval<T>()*std::declval<U>() )>
(z1.real()*z2.real()-z1.imag()*z2.imag(),
z1.real()*z2.imag()+z1.imag()*z2.real() );
}
は準備してるけど、これがなくてもコンパイル通る。ところが
template <class T> std::complex<T> operator * (int d, const std::complex<T>& z)
{
return std::complex<T>(d*real(z), d*imag(z));
}
がないと、
エラー C2893 関数テンプレート 'matrix<unknown-type> operator *(const U &,const matrix<T> &)' の特定に失敗しました
エラー C2784 'matrix<unknown-type> operator *(const matrix<T> &,const matrix<U> &)':
テンプレート 引数を'const matrix<T> &' に対して 'const std::complex<float>' から減少できませんでした
・・・みたいなのがわんさか出る.
C++相談室 part124 [無断転載禁止]©2ch.net
11 :デフォルトの名無しさん (jp 0Haf-e5NB)[]:2016/04/04(月) 20:15:55.07 ID:jBujPHQXH
matrix<float> af(3,3);
matrix<complex<double>> b(3,3);

af*bの演算やると、VC++2015では
警告 C4244 '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 mat_test3 c:\users\ayabe\desktop\mat_test3\mat_test3\matrix_.h 203

がでる.gcc(TDM gcc 5.1.0)では警告すらでずにdoubleからintへの型キャストが起こる。
C++相談室 part124 [無断転載禁止]©2ch.net
12 :デフォルトの名無しさん (jp 0Haf-e5NB)[]:2016/04/04(月) 20:31:24.66 ID:jBujPHQXH
template <class T> std::complex<T> operator * (int d, const std::complex<T>& z)
{
return std::complex<T>(d*real(z), d*imag(z));
}
↓訂正
template <class T> std::complex<T> operator * (const std::complex<T>& z, int d)
{
return std::complex<T>(d*real(z), d*imag(z));
}

まあ,decltypeはもう使わないからいいか。お騒がせしました。
C++相談室 part124 [無断転載禁止]©2ch.net
14 :デフォルトの名無しさん (jp 0Haf-e5NB)[]:2016/04/04(月) 20:41:55.46 ID:jBujPHQXH
しかし、何でintなんですか?(デフォルト?)

それと結果の型をどうやって定義するんですか?

MPLかなんか知らんけど、そんなことするくらいならBlitz++を開発した
人のプリプロセッサ命令使うわ
C++相談室 part124 [無断転載禁止]©2ch.net
16 :デフォルトの名無しさん (jp 0Haf-e5NB)[]:2016/04/04(月) 21:16:48.03 ID:jBujPHQXH
それだけか? 何にも知らないくせに

あんたみたいな奴に上から目線で言われたくない。馬鹿


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。