Visual Studio 2017 Part5at TECHVisual Studio 2017 Part5 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト50:デフォルトの名無しさん 18/03/13 11:55:44.24 cL/fN0Uj0.net templateで int main()が無いとビルドは通らないでしょう あとint main()でtemplateを{}で括るとブロックが大きすぎますとエラーが出る 51:デフォルトの名無しさん 18/03/13 12:07:17.57 cL/fN0Uj0.net int main() { 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>(); } } これやるとブロックが大きすぎますとエラーがでる 52:デフォルトの名無しさん 18/03/13 12:19:18.70 23dHbGxb0.net >>51 C++相談室 part134 ・ http://mevius.5ch.net/test/read.cgi/tech/1516406742/ の566で 53:デフォルトの名無しさん 18/03/13 12:21:18.39 cL/fN0Uj0.net template<typename T> struct A { }; template<typename T> struct B { operator A<T>() { return A<T>();//このように定義すれば問題はないが } int main() { const B<int> b; A<int> a = b; std::cout << "Hello, Wandbox!" << std::endl; } これでokって事か 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch