我有這樣一個類:好友功能
#include "Blarg.h"
// ...
class Foo : public Bar {
// ...
static double m_value;
// ...
};
而另外一個是這樣的:
template<class X, class Y>
class Blarg : public Bar {
// ...
void SetValue(double _val) { Foo::m_value = _val; }
// ...
};
由於Foo
的m_value
是私有的(我想保留這樣),我想我會宣佈SetValue
函數作爲Foo
類的一個朋友,以便它可以在需要時訪問靜態成員。
我已經試過聲明沿Foo
的公共區域內的這些行:
template<class X, class Y> friend void Blarg<X, Y>::SetValue(double _val);
template<class X, class Y> friend void Blarg::SetValue(double _val);
friend void Blarg::SetValue(double _val);
...但在編制沒有運氣。如果可能的話,什麼是適當的語法?
第一次遇到什麼錯誤? – Praetorian
「編譯時運氣不好」並不是您遇到的錯誤的技術性描述。 –
你需要在每個類定義之後寫一個';'。 –