constexpr int get() { return 5; }
template<int N> struct Test {};
int main()
{
int a[get()]; // ok
Test< get() > obj; // error:'int get()' cannot appear in a constant-expression
}
나는
다음은 코드 부분입니다. class Class
{
static constexpr int getBug();
};
constexpr int Class::getBug()
{
return 0;
}
기본적으로 클래스 선언에서 staticconstepxr 메서드를 선언 한 다음 구현합니다. 원래 코드는 두 개의 파일로 나뉘 었으며 더
나는,주의에서 [24.4.7] 마지막으로 C++의 - 표준 문서 N3291 max 경악하지 constexpr : template<class T> const T& max(const T& a, const T& b);
따라서, 예를 들어 static_assert에서 사용할 수 없습니다. 옳은? static_assert(max(sizeof(int),sizeof