class __declspec(dllexport) Foo
{
private:
struct Impl;
Impl *pimpl;
public:
Foo();
virtual ~Foo();
Impl &GetVector();
};
Foo::Impl
{
std::vector<Bar> m_vec;
}
Foo::Foo() : pimpl( new Impl )
{
}
Foo::~Foo()
{
delete pimpl;
}
Impl &Foo::GetVector()
{
return *pimpl;
}
我收到MSVC 2010的编译错误:
缺少';'在'&amp;'之前
有没有一种简单的方法可以解决这个问题?
谢谢。
答案 0 :(得分:0)
检查2XYZ
功能的返回类型。您的Foo::GetVector
结构包含在Impl
类中,因此要访问它,您必须编写Foo
。