constのsizeof? – プログラミング – Home

通知
すべてクリア

[解決済] constのsizeof?


somen
 somen
(@somen)
ゲスト
結合: 19年前
投稿: 4
Topic starter  

すみません。どうしてもエラーで出来ません。
配列の要素数を計算してるとこでうまくいきません。
どうかいい方法を教えてください。

エラー: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,
};


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

#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;
}


返信引用
somen
 somen
(@somen)
ゲスト
結合: 19年前
投稿: 4
Topic starter  

επιστημηさん
ありがとうございました。
できました。
これもヘッダにかいちゃだめだったんですね…


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

> これもヘッダにかいちゃだめだったんですね…

違う。

CFoo::m_Name[][NAME_LEN]の中身が埋まった'後'でないと大きさが決まらんから。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました