[過去ログ] Visual Studio 2017 Part5 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
54(1): デフォルトの名無しさん (ワッチョイ 6a8a-6CfZ) [sage] 2018/03/13(火) 14:03:04.99 ID:cL/fN0Uj0(4/4) AAS
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;
}
66: 44 (アウアウウー Sa1f-0aB1) [] 2018/03/13(火) 21:27:17.42 ID:tmbXJfu7a(1/2) AAS
>>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>の部分に波線
};
自分の環境だけの問題なのかな?
他の人の環境だと関数定義が見つからないとのメッセージはでない?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.037s