이것은 아마도 엄청나게 쉬운 질문 일 텐데, 나는 잠시 동안 대답을 찾고 있었지만 아직 이해할 수는 없습니다. 클래스에서 상수 변수 상수 포인터를 초기화하려고합니다. 여기에 헤더 파일입니다클래스의 초기화되지 않은 상수 멤버
class Scheduler{
public:
Scheduler();
explicit Scheduler(unsigned long *);
private:
const unsigned long *const thresh;
};
는 그리고 여기 클래스
Scheduler::Scheduler(unsigned long * threshold):
thresh(threshold)
{}
나는이 오류로 실행이 코드를 컴파일하려고 시도에 대한 생성자입니다 :
scheduler.cpp: In constructor ‘Scheduler::Scheduler()’:
scheduler.cpp:3: error: uninitialized member ‘Scheduler::thresh’ with ‘const’ type ‘const long unsigned int* const’
여러 소스를 멤버 변수에 대한 생성자에서 상수 멤버 변수를 논의하는 온라인에서는 이니셜 라이저 목록을 사용합니다. 나는 내가해야 할 일을하고 있다고 생각하지만 분명히 여전히 좋지 않다. 아무도 틀린 것을 볼 수 있습니까?
코드가 오류가 발생하는 기본 생성자 구현이 누락 된 것 같습니다. – visitor