尝试使用*指针运算符调用类成员函数 我是C++中的乞丐,试图创建一个新的类< /p>实例 foo* a= new foo(1); *(a).kCreateThread();

尝试使用*指针运算符调用类成员函数 我是C++中的乞丐,试图创建一个新的类< /p>实例 foo* a= new foo(1); *(a).kCreateThread();,c++,C++,我得到以下错误 错误C2228:“.kCreateThread”的左侧必须具有类/struct/union 怎么了?你写的东西相当于 *((a).kCreateThread()); 你应该使用 a->kCreateThread(); 或 最后两个是等价的。您所写的内容是等价的 *((a).kCreateThread()); 你应该使用 a->kCreateThread(); 或 最后两个是等效的。这样做: a->kCreateThread() 这样做: a->kCreateT

我得到以下错误

错误C2228:“.kCreateThread”的左侧必须具有类/struct/union


怎么了?

你写的东西相当于

*((a).kCreateThread());
你应该使用

a->kCreateThread();


最后两个是等价的。

您所写的内容是等价的

*((a).kCreateThread());
你应该使用

a->kCreateThread();

最后两个是等效的。

这样做: a->kCreateThread()

这样做: a->kCreateThread()

(*a).kCreateThread()。您的语法尝试调用.kCreateThread()并取消引用它的返回值,而我的语法首先取消引用指针a,然后尝试使用它调用kCreateThread。这是因为*的优先级较低。
(*a).kCreateThread()。您的语法尝试调用.kCreateThread()并取消引用它的返回值,而我的语法首先取消引用指针a,然后尝试使用它调用kCreateThread。这是因为*的优先级较低。