constexpr int k_HELLO = 0;
int main() {
if constexpr (k_HELLO == 1) {
Hello();
}
return(0);
}
k_HELLO != 1 이니까 if constexpr {...} 은 컴파일 안 되니까 Hello 가 정의되어 있지 않아도 컴파일되야 하는거 아니냐?
찾아보니가 well-formed 일 필요없는게 맞는데 아직 구현이 덜 된 건가?
constexpr int k_HELLO = 0;
int main() {
if constexpr (k_HELLO == 1) {
Hello();
}
return(0);
}
k_HELLO != 1 이니까 if constexpr {...} 은 컴파일 안 되니까 Hello 가 정의되어 있지 않아도 컴파일되야 하는거 아니냐?
찾아보니가 well-formed 일 필요없는게 맞는데 아직 구현이 덜 된 건가?
컴파일러에서 지원하는지는 확인해봤고? 1z 옵션은 켜줬고?
/std:c++lastest 넣고 컴파일했는데 이래
VS 2017 Preview 2 에서 지원하길래 설레면서 깔았는데 실망했다 싀펄
컴파일에러는 뭐라고 뜸?
1>c:\users\\documents\visual studio 2017\projects\c++ practice\c++ practice\main.cpp(5): error C3861: 'Hello': 식별자를 찾을 수 없습니다.
내가 잘못 안거거나 아직 구현이 덜 된것 같다 아마
????? hello 식별자를 못 찾겠다잖아
if constexpr 문제는 아니네
k_HELLO != 1 이니까 if constexpr {...} 은 컴파일 안 되니까 Hello 가 정의되어 있지 않아도 컴파일되야 하는거 아니냐? 찾아보니가 well-formed 일 필요없는게 맞는데 아직 구현이 덜 된 건가?
아닐껄... 일단 어떤 identifier 던 ODR 위반이면 ill formed 일텐데
https://blog.tartanllama.xyz/c++/2016/12/12/if-constexpr/
맞네 일단 프로그램이 well-formed 여야 컴파일이 되네
아 그렇네 ㄳㄳ
그냥 ifdef 써야겠당