在一個標題文件,我已經向前聲明一個命名空間的兩個成員:C++:未知指針大小聲明時向前(錯誤C2036)
namespace Foo {
struct Odp
typedef std::vector<Odp> ODPVEC;
};
class Bar
{
public:
Foo::ODPVEC baz; // C2036
};
由編譯器生成的錯誤是:
error C2036: 'Foo::Odp *': unknown size
我猜這是一個正向申報Odp
的問題。我怎樣才能解決這個問題?
Foo命名空間中缺少分號是拼寫錯誤? – nevets1219 2010-06-15 00:44:06
另請參閱[您可以使用前向聲明無法做到的事情列表](http://stackoverflow.com/questions/553682/when-to-use-for-forward-declaration/553869#553869)。 – 2010-06-15 00:44:18
@ nevets1219是的,這是一個錯字 – 2010-06-15 00:45:19