[過去ログ]
Visual Studio 2017 Part5 (1002レス)
Visual Studio 2017 Part5 http://mevius.5ch.net/test/read.cgi/tech/1520336504/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
54: デフォルトの名無しさん (ワッチョイ 6a8a-6CfZ) [sage] 2018/03/13(火) 14:03:04.99 ID:cL/fN0Uj0 VS2017の15.6.1の環境で 問題なくビルド通るよコンパイラ最新の状態にした方がいいよ 念のためも一度 #include "stdafx.h" #include <iostream> template<typename T> struct A { }; template<typename T> struct B { operator A<T>() { return A<T>();//このように定義すれば問題はないが } operator A<T>()const;//定義を外に出すと関数定義が見つからないと出る。 }; template<typename T> B<T>::operator A<T>() const { return A<T>(); } int main() { const B<int> b; A<int> a = b; std::cout << "Hello, Wandbox!" << std::endl; } http://mevius.5ch.net/test/read.cgi/tech/1520336504/54
66: 44 (アウアウウー Sa1f-0aB1) [] 2018/03/13(火) 21:27:17.42 ID:tmbXJfu7a >>54 言葉足らずですまない。 コンパイルできるし問題なく動く。バージョンも最新の15.6.1、全てヘッダに記載している。 このようにオペレータを宣言して template<typename T> struct B { operator A<T>()const; }; 以下のような関数の定義も同一ヘッダの構造体宣言の後に記載しているのに、 template<typename T> B<T>::operator A<T>() const { return A<T>(); } 以下のoperator A<T>の部分に波線が出て関数定義が見つからないと出てくる template<typename T> struct B { operator A<T>()const;//ここのoperator A<T>の部分に波線 }; 自分の環境だけの問題なのかな? 他の人の環境だと関数定義が見つからないとのメッセージはでない? http://mevius.5ch.net/test/read.cgi/tech/1520336504/66
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.036s