0

我的代码出现此错误。

错误 C2228:'.showHand' 左侧必须有类/结构/联合 1> 类型是 'PokerHand *' 你打算使用 '->' 代替吗?

这是我的主要功能中出现错误的部分。错误是我调用 showHand() 的地方

PokerHand* Dog = Wood.dealN(5);
Dog.showHand();

我猜我用指针做错了,这就是错误告诉我使用的原因->,但是我不确定我什至将它放在我的代码中的什么位置。我只需要能够showHand()在我的主文件中调用该函数,据我所知代码的所有其他部分都在工作。

4

2 回答 2

4

这一行:

Dog.showHand();

应该:

Dog->showHand();

由于它是一个pointer你不能.用来访问你必须使用的成员->

于 2013-05-08T01:52:41.387 回答
1

.当左侧是直接对象实例时使用运算符。

->当左侧是指向对象实例的指针时使用运算符。

->运算符是*和运算符的组合.。换句话说,这段代码:

Dog->showHand();

与此代码相同:

(*Dog).showHand();

因为*运算符首先取消引用指针以获得对对象实例的访问权限,然后.运算符才能访问对象的成员。

于 2013-05-08T02:19:06.863 回答