1
以下はVS2017で正常にコンパイル:非const非静的メンバーは、クラスのインスタンスなしでコンパイル時にアクセスできるのはなぜですか?
#include <type_traits>
struct Foo
{
int bar;
};
int main()
{
static_assert(std::is_same_v<decltype(Foo::bar), int>, "Foo::bar isn't an int");
return 0;
}
はFoo ::バーのアクセスは、それがfooの静的メンバだと、コンパイル時に強制するべきではないでしょうか。テンプレートタイプの特定のメンバ変数を静的にしようとしている間、私はこれを見つけました。