私は以下のクラスを持っていますC++ポインタ、宣言
1]静的クラスメンバ関数
:機能それはtypedef
を使用するのが最善だ
FAQによると
Process.h
class Process
{
private:
static double (Point2D :: *getCoord)() const; //How to initialize in Process.cpp?
...
};
2]非クラスのメンバ関数
Process.h
double (Point2D :: *getCoord)() const; //Linker error, how do declare?
class Process
{
private:
...
};
'プロセス:: getCoord =&Point2Dの::のgetX:
あなたは初期化子を提供することができますあなたがそれを持っている場所では有効ではありません。それは定義になっていたのだろうか? –
問題は、ポインタgetCoordを宣言/初期化する方法でした。私はそれを宣言する方法を最初に書いて、それをどのように初期化するかを書きました。 – Dialecticus
宣言を変更しましたが、その定義が欠落しているとは考えられません(問題のリンクエラーの原因が不足している可能性が高い)か、初期化(割り当ては初期化と同じではありません)あなたが見せたいことを理解していない? –