Вы забыли написать TestClass::
, как показано ниже:
void TestClass::set(string x)
//^^^^^^^^^^^this
void TestClass::print(int x)
//^^^^^^^^^^^this
Это необходимо для того, чтобы компилятор мог знать, что set
и print
являются функциями-членами класса TestClass
. И как только вы напишите это, сделав их членами-функциями, они смогут получить доступ к закрытым членам класса.
Кроме того, без функции TestClass :: , set
и print
станут свободными функциями.