すみません。どうしてもエラーで出来ません。
配列の要素数を計算してるとこでうまくいきません。
どうかいい方法を教えてください。
エラー:error C2070: sizeof 式のオペランドが、識別子または型名になっていません。
<コード>
#include <windows.h>
#define NAME_LEN 64
class CFoo
{
public:
LPCWSTR GetNameAddr(void){return (LPCWSTR)m_Name;};
int GetCount(void)
{
return sizeof(CFoo::m_Name)/(sizeof(WCHAR)*NAME_LEN); //エラー
//return sizeof(m_Name)/(sizeof(WCHAR)*NAME_LEN); //エラー
};
private:
static const WCHAR m_Name[][NAME_LEN];
};
const WCHAR CFoo::m_Name[][NAME_LEN] =
{
LOne,
LTwo,
LThree,
};
#include <windows.h>
#define NAME_LEN 64
class CFoo {
public:
static LPCWSTR GetNameAddr() {return (LPCWSTR)m_Name;};
static int GetCount();
private:
static const WCHAR m_Name[][NAME_LEN];
};
const WCHAR CFoo::m_Name[][NAME_LEN] = {
LOne,
LTwo,
LThree,
};
int CFoo::GetCount() {
return sizeof(CFoo::m_Name)/(sizeof(WCHAR)*NAME_LEN);
}
#include <iostream>
int main() {
std::cout << CFoo::GetCount() << std::endl;
}
επιστημηさん
ありがとうございました。
できました。
これもヘッダにかいちゃだめだったんですね…
> これもヘッダにかいちゃだめだったんですね…
違う。
CFoo::m_Name[][NAME_LEN]の中身が埋まった'後'でないと大きさが決まらんから。