我想使用一个存在于其他模块中并且可以在链接中使用的类。头文件的大小很大,所以我不想在当前模块中包含头文件。
我正在尝试通过
转发声明类class foo;
int foo::getValue();
这里的 getValue() 是我想使用的 foo 的成员函数。
现在,当我编译我的代码时,我在链接之前遇到了编译错误
错误:“struct foo”的前向声明
我在这里错过了什么?
谢谢,
最佳答案
您不能转发声明类成员,您需要包含整个 header 。
这里正确的做法是减小头部的大小。如果它只包含类定义,请保持原样。如果不是,则有可能将其分解为多个 header 。
如果类定义很大,则表明您的设计存在缺陷并且可能会被破坏。
关于c++ - 在链接之前声明一个要使用的类成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10654434/