이게 c에선 문제 없었는데
왜 c++에선 오류가 뜨면서 컴파일 안댐?
저겨 ㅇㅅㅇ
ABCD니까 안대잖아여 ㅇㅅㅇ
ㄴ 뭘 넣어도 안대는디...
난 되는데??
newgame 으로 하면 대는데여?
C++ 이니까요.. C++ 에서는 저거 안됨 - return 0;
C에서는 저게 됨??
C와 C++의 차이라기보다는 컴파일러 버전의 차이임. C++이라도 저게 컴파일되는 컴파일러도 있고 컴파일 안 되는 컴파일러도 있음
방금 해보니까 g++ 에서는 저렇게 해도 컴파일 됨. (워닝 뜨면서)...
vs2017 기준 됨
gcc에서는 워닝도 안 뜨고 컴파일 잘 되네. 기능이 별로 없고 로우레벨인 게 C의 철학이라 그런가... 사소한 안전성 검사같은 것도 컴파일러에서 안해주네
어찌됐든 저게 되든 안 되든 항상 const char* name = "ABCD"; 으로 선언하는 게 좋은 습관임. 문자열 상수를 수정하는 건 말이 안되니까.
수/ 아니 개소리야 C++은 원래 안돼 - return 0;
g++ 에서 되는거는 g++이 조금 더 너그로운거지 표준상으로는 원래는 안되는거야 - return 0;
http://en.cppreference.com/w/cpp/language/string_literal표준에서스트링 리터럴은 무적권 char const* 다 - return 0;
저겨 ㅇㅅㅇ
ABCD니까 안대잖아여 ㅇㅅㅇ
ㄴ 뭘 넣어도 안대는디...
난 되는데??
newgame 으로 하면 대는데여?
C++ 이니까요.. C++ 에서는 저거 안됨 - return 0;
C에서는 저게 됨??
C와 C++의 차이라기보다는 컴파일러 버전의 차이임. C++이라도 저게 컴파일되는 컴파일러도 있고 컴파일 안 되는 컴파일러도 있음
방금 해보니까 g++ 에서는 저렇게 해도 컴파일 됨. (워닝 뜨면서)...
vs2017 기준 됨
gcc에서는 워닝도 안 뜨고 컴파일 잘 되네. 기능이 별로 없고 로우레벨인 게 C의 철학이라 그런가... 사소한 안전성 검사같은 것도 컴파일러에서 안해주네
어찌됐든 저게 되든 안 되든 항상 const char* name = "ABCD"; 으로 선언하는 게 좋은 습관임. 문자열 상수를 수정하는 건 말이 안되니까.
수/ 아니 개소리야 C++은 원래 안돼 - return 0;
g++ 에서 되는거는 g++이 조금 더 너그로운거지 표준상으로는 원래는 안되는거야 - return 0;
http://en.cppreference.com/w/cpp/language/string_literal
표준에서
스트링 리터럴은 무적권 char const* 다 - return 0;