我需要创建一个在类source中定义的变量,仅限于该类。由于其他一些头文件问题,我无法将此变量移动到类头。我找到了这个页面http://en.wikipedia.org/wiki/Opaque_pointer并解释了它是如何实现的,
这是我的班级来源
struct testClass::testStruct {
int a;
int b;
boost::asio::io_service io_service_2;
client c_3(io_service_2); // this is another class, getting error here
};
testClass::testClass(): test(new testStruct())
{
// do something
}
班级标题
class testClass
{
public:
testClass();
~testClass();
private:
struct testStruct;
testStruct* test;
};
编译时我收到错误
error: C2061: syntax error : identifier 'io_service_2'
实际上,客户端是我之前初始化为全局
的另一个类client c_3(io_service_2);
现在我不能将它用作全局,我需要将它作为私有类,所以选择上面的方法。
注意:由于某些标题问题,我无法在类标题中将client c_3
定义为类变量。我该如何解决这个问题?。
由于 哈里斯