13

Visual C ++コンパイラ2012年11月CTPをインストールし、C++コンソールプロジェクトを作成しました。私はこれを書いた

template<typename T>
void Test(T value){
}
template<typename T, typename... Args>
void Test(T value, Args... args){
    Test(value);
    Test(args...);
}

int main(){
    Test(1,2,3);
}

次に、F6キーを押してIDEを組み込みました。4行目でこのエラーが発生しました

error C2143: syntax error : missing ',' before '...'

コンパイルリストは「可変個引数テンプレート」なので、これでうまくいくと思います。インテリセンスが正しくない可能性があることは理解していますが、「コンパイラ」は機能するはずです。IDEからビルドできませんか?どこかで何かを有効にする必要がありますか?int i{4};どちらも機能していないようで、有効な均一初期化であると確信しています。

4

1 に答える 1

37

[プロジェクトのプロパティ]で、必ずMicrosoft VisualC++コンパイラ2012年11月CTPを選択してください。

ツールチェーン

新しいツールチェーンは、既存のVisual C ++ 2012ツールチェーンに置き換わるものではなく、デフォルトでは有効になっていません。既存のツールチェーンと並べてインストールされます。

新しいツールチェーンを選択すると、プログラムはエラーなしでコンパイルされます。

于 2012-11-05T18:55:25.827 に答える