スレを勃てるまでもないC/C++の質問はここで 2
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
600:デフォルトの名無しさん 07/07/27 19:36:30 >>598 C++じゃなくてCだそうだよ。 601:デフォルトの名無しさん 07/07/27 19:43:10 >>597 テンプレートのコンストラクタと代入演算子を用意するだけでは? template<typename U> foo(const foo<U>&); template<typename U> foo& operator =(const foo<U>&); これとは関係ないが、コンストラクタでは代入ではなく初期化リスト使え。 602:デフォルトの名無しさん 07/07/27 20:09:03 >>597 あなたが実際にやろうとしていることは、 foo<double> foo_d = foo<int>(2) ; ではなく、 double d = foo<int>(2) ; だと思う。 とりあえず operator T&() { return _data } を用意すれば、コンパイラが持っているintからdoubleの変換が使われる。 603:デフォルトの名無しさん 07/07/27 20:11:17 ちなみに、 > テンプレートコンストラクタを作ろうとしたら当然無理でした というのは、 template<class U> foo(const foo<U>& u) { _data = u } だったりしないか? そりゃダメだ。 やはり、 double d = foo<int>(2) をやろうとしている。 template<class U> foo(const foo<U>& u) { _data = u._data } でなければ。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4310日前に更新/282 KB
担当:undef