error LNK2001 : "~~" 외부기호를 확인할 수 없습니다.
에러 이유: 클래스 내부에 static 변수를 선언 -> 해당 static 변수를 찾을 수 없을 때 발생
즉, static 변수를 클래스 내부에 선언하고 생성자 내에서 초기화 해 줄 때 객체가 생성될 때마다 리셋기 때문에 에러가 발생함
<에러 코드- 예시>
// A.h
class A{
private:
static int a;
public:
A();
}
//A.cpp
A::A(){
a=10;
}
<해결 방법>
int A::a=10;을 해주어야한다.
// A.h
class A{
private:
static int a;
public:
A();
}
//A.cpp
int A::a=10; //수정부분
A::A(){
a=10;
}
<cf>
static 변수는 전역변수의 성질도 갖고있기 때문에 main()함수 실행하기 전에 할당됨
'Computer Science > 기타 error' 카테고리의 다른 글
[SQL] Query OK, 0 rows affected, 1 warning (0) | 2020.08.07 |
---|---|
[SQL] Error 1064(42000) SQL Syntax ERROR (0) | 2020.08.07 |
[Node.js] cmd창에서 error (events.js:숫자 throw er) (0) | 2020.08.02 |
[백준] 런타임 에러 (0) | 2020.07.30 |
[JAVA ERROR] cmd 창에서 나타나는 에러 (0) | 2020.06.07 |