私はクラスメンバー変数の宣言型は禁止されていますか?どうして?
int a;
decltype(a) b;
を書くことができますが、私のコンパイラ(マイクロソフトのVisual Studio 2010、cl
バージョン16.00.40219.01は)私に
class A
{
int a;
decltype(a) b;// error C2327: 'A::a' : is not a type name, static, or enumerator
};
また
コモC/C++ 4.3.10.1(2008年10月6日11を禁止します: ONLINE_EVALUATION_BETA2の場合は28:09)同様のエラーが発生します。
"ComeauTest.c", line 7: error: a nonstatic member reference must be relative to a
specific object
decltype(a) b;
^
この動作の根拠は何ですか?
gcc 4.7と動作するので、おそらくバグです。 – evnu
@evnuあなたのテストをありがとう。私はそれがバグだと言うために標準をチェックすべきです。 –
@evnu g ++(Debian 4.6.1-15)4.6.1それをコンパイルします。 –