가능한 중복 :
const and global통근 이상한 행동
많은 주어진 C++
// Foo.cpp
const int Foo = 99;
// Main.cpp
extern const int Foo;
int main()
{
cout << Foo << endl;
return 0;
}
이유에 오류가 발생합니다이 코드는 글로벌 const를 가지고 내부 범위와 기본 정적입니다. 이것에
솔루션입니다 : -
//Foo.h
extern const int Foo;
// Foo.cpp
#include "Foo.h"
const int Foo = 99;
// Main.cpp
#include "Foo.h"
int main()
{
cout << Foo << endl;
}
내가 그 통근이 indentifer 메모리가 이미 다른 파일 어딘가에 할당 컴파일러에게하는 데 사용됩니다 생각하는 데 사용됩니다.
위의 코드에 동일한 로직을 적용하면 누구나 여기서 일어나는 일을 설명 할 수 있습니까? 아니면 extern이 C++에서 다른 의미를 갖는지 ?? 내가 생각하는 - -
enter link description here
또한 내 모든 직관을 망치고있다이 페이지 있습니다 .. CPP에 extern ...
라인을 추가
약 2 시간 전 동일한 질문을하지 않았습니까? 거기서 답을 읽었습니까? 이전에 질문했던 질문에 대해 여전히 의문이 생기면 질문에 대한 질문을 답변으로 추가해야하며 새로운 질문은 시작하지 말아야합니다. –
@als 나는 다른 사람들의 의심을 분명히하는 것이 그렇게하는 것이 가장 좋은 방법이라고 생각한다. –
글쎄, 같은 질문을 몇 번이나 반복해서 물어 보는 것이 아닙니다. 답을 이해하지 못한다면 답안 아래에있는 의견란에 의심을 물으십시오. 다른 질문을 시작하지 마십시오. SO FAQ를 읽어보십시오. –