Я пытаюсь научиться использовать постоянные функции и объекты, однако у меня есть ошибка, из-за которой я не спал больше часа, и я не могу понять. Я следовал простому примеру и, кажется, где-то заблудился по пути. Вот мой код.
Main.cpp
#include <iostream>
#include "ExampleClass.h"
int main(){
ExampleClass exampleObj; // object used to call members of ExampleClass.
exampleObj.printText(); // calls printVar from the ExampleClass.
const ExampleClass constantObject; // object used to call constant members of ExampleClass.
constantObject.printConstText(); // calls printConstVar from the ExampleClass.
return 0;
}
ПримерClass.h
#ifndef EXAMPLECLASS_H
#define EXAMPLECLASS_H
class ExampleClass
{
public:
void printText();
void printConstText() const;
};
#endif // EXAMPLECLASS_H
ПримерClass.cpp
#include <iostream>
#include "ExampleClass.h"
void ExampleClass::printText(){
std::cout << "The code works!" << "\n";
}
void ExampleClass::printConstText() const{
std::cout << "The code works!" << "\n";
}
И я получаю ошибку:
C:\Documents and Settings\Me\My Documents\ConstObjects\main.cpp||In function 'int main()':|
C:\Documents and Settings\Me\My Documents\ConstObjects\main.cpp|8|error: uninitialized const 'constantObject'|
||=== Build finished: 1 errors, 0 warnings ===|
Если я уберу const перед ExampleClass, код будет выполняться нормально. Но остается ли это постоянным объектом? Спасибо за помощь, надеюсь, я дал достаточно информации. Если это вообще имеет значение, я использую кодовые блоки.