반응형

프로그래밍/error 3

deprecated conversion from string constant to 'char*'

deprecated conversion from string constant to 'char*' 은 에러가 아닌 경고지만, 해결하지 않는다면, 나중에 문제가 될 소지가 있습니다. 이 경고는 컴파일러를 최신으로 바꾼 후 뜰 수가 있습니다. 그러면 우선 경고를 만들어보겠습니다. 기존엔 이런 표현으로 쓰곤 했습니다. 문제가 있는 표현이지만, 컴파일상에서 에러가 나지 않았었습니다. 형식이 바뀌었습니다. 위 같은 표현으로 쓰기위해선 다음과 같이 써야합니다. 아래는 같은 표현입니다.(기존에 쓰던 방법) const char *c 라는 표현자체가 문자상수라는 표현인데, 확실히const를 명시하는 표현이 정확하다고 생각드네요. 표현은 확실해졌네요. 아니면 string 클래스를 사용해서 객체를 생성하여 사용하는 방법이 있..

unresolved externals, undefined reference to A::test()

클래스 static 멤버변수는 클래스내부에서 초기화 할 수 없다. 특히 클래스에서 static 함수는 클래스멤버변수중 static 멤버변수만 사용할 수 있는데, 여기서 주의할점은 static 멤버함수가 static만 사용할 수 있다고해서 초기화까지 가능한 것은 아니다. static 멤버변수는 클래스외부에서 명시적인 초기화가 필요하다. ex) int A::num = 1; 명시적 초기화 후에는 스태틱 멤버함수의 명시적인 사용도 가능하다. undefined reference to A::test() 정의되지 않은 참조 A::test() A::test()가 정의되지 않고서 사용을 하려할 경우. 이럴경우 함수정의부분에 클래스명시를 안한경우다. unresolved externals 에러의원인은 다양하다. 보통 클래스..

반응형