【发布时间】:2015-09-20 22:33:00
【问题描述】:
我有一个简单的课程:
class cup{
public:
cup();
void drinkwater(water *t); // error occurs here
private:
class water{
public:
int litres;
};
};
但是,我收到一条错误消息,指出尚未声明“水”。有什么办法不用把水课放在外面就可以进课吗?
【问题讨论】:
-
与命名空间相同:
cup::water -
在
drinkwater引用之前声明是否。见this example。但是你应该澄清你打算如何使用它。 -
仅供参考,您可以在
private时使用它。 (<s>I believe</s> that's legal)(我查过了,是的)。但正如@juanchopanza 所说,知道你的意图会很好。 -
我只是想对它做一些操作,比如给升一个值。
-
如果你想在
cup之外使用water,它可能应该被声明为public或者根本不嵌套。