inline メンバー関数の中身定義位置について
Posted: 2015年2月12日(木) 10:06
こんいちは
MS-Visual studio 2010を使っています。
classのメンバー関数の実装をinline付けないですけれども、
inlineを付けるメンバー関数(MF)の定義ファイルがclassの定義ファイル(.h ファイル)と違うファイルであれば、
MFをCALLしている処に
「MFに関して解析できない」というLINKエラーが発生します。
実例として下記の通りですが、
このような不都合はMS-Visual studio 2010より高いversionのMS-Visual studioにも発生するのでしょうか。
class CIntArray
{
private:
int* m_pnum; // 動的配列
public:
MF(); // メモリの確保が成功したか
};
// 下記のメンバー関数が上記class定義本体の存在ファイルにしなければ、LINK エラー!
inline bool CIntArray:: MF()
{
return m_pnum != NULL;
}
MS-Visual studio 2010を使っています。
classのメンバー関数の実装をinline付けないですけれども、
inlineを付けるメンバー関数(MF)の定義ファイルがclassの定義ファイル(.h ファイル)と違うファイルであれば、
MFをCALLしている処に
「MFに関して解析できない」というLINKエラーが発生します。
実例として下記の通りですが、
このような不都合はMS-Visual studio 2010より高いversionのMS-Visual studioにも発生するのでしょうか。
class CIntArray
{
private:
int* m_pnum; // 動的配列
public:
MF(); // メモリの確保が成功したか
};
// 下記のメンバー関数が上記class定義本体の存在ファイルにしなければ、LINK エラー!
inline bool CIntArray:: MF()
{
return m_pnum != NULL;
}