これはなぜ機能しますか?const型変数を非型テンプレートパラメータ(VARIABLEは定数式には現れません)
char __nontype[] = "foo";
typedef TemplateClass<T, __nontype> MyClass;
ただし、これは(定数変数を使用して)ですか?
const char __nontype[] = "foo";
typedef TemplateClass<T, __nontype> MyClass;
コンパイラエラー:
エラー: '__nontypeは' 定数式に表示することはできません
エラー:結果がありません:テンプレート引数2は
これは、TemplateClass <>の定義によって異なる場合があります。投稿できますか? – hatboyzero
@hatboyzeroそれはありません – sehe
ここでの基本的な誤解は、あなたが 'const'修飾子が自動的に何かを' constexpr'にすると仮定していると思います。文字配列はコンパイル時定数ではありません。彼らはリンク時まで知られていません。 – tenfour