네임 스페이스에 변수를 선언하려고 할 때 Visual Studio에서 C2086 오류가 발생하여 한 코드 파일에서 정의하고 다른 코드 파일에 액세스합니다. 'RecvVarProxyFn 스킨의 재정 :: fnSequenceProxyFn : | | 2 오류네임 스페이스에서 변수를 선언하고 정의 할 때 재정의 오류 C2086
... file_one.cpp :
(codeblocks에서) GCC가있는 건물, 오류가 (내 하드 디스크에 ... == 경로) 입니다 '
... file_one.h | 4 | 주 :'오류가 동일) 주에 액세스 라인 ((//
사용) 비활성화 경우에도 이전에 여기
file_one.h :
typedef int RecvVarProxyFn;
namespace Skins {
RecvVarProxyFn fnSequenceProxyFn; // "previously declared here"
}
file_one.cpp
#include "file_one.h"
RecvVarProxyFn Skins::fnSequenceProxyFn = 0; // redefinition error 2086
MAIN.CPP 내가있는 변수를 정의 내 시도에 대한 재정의 오류가 이유는 무엇입니까
#include "file_one.h"
int main()
{ Skins::fnSequenceProxyFn = 1; // making this a comment does not help
return 0;
}
별도의 코드 파일?
참고 :
I 2015 대상 플랫폼이 v140
로 설정 버전 8.1
및 플랫폼 도구 세트로 설정 비주얼 스튜디오를 사용하고 있습니다.
당신이 멤버 전에 유형을 지정하면 내 생각, 컴파일러는 새로운 선언으로 – alseether
당신이 변수를 정의하고 그것을 선언 사이의 차이를 알고 있는지 생각? 한 곳에서 'extern'을 사용하여 게임을 했습니까? – Yunnosch
@Yunnosch 나는하지 않았다. 솔직히 extern 키워드를 잊어 버렸습니다. – Igor