私はビジュアル C++ 2010 を使用しています。この質問は長い間私を混乱させました。*.cpp で suan 配列を定義できます。
wstring pairs[][2] =
{
{L"\\ben\\b", L"English"},
{L"\\bfr\\b", L"French"},
{L"\\bit\\b", L"Italian"},
{L"\\bde\\b", L"German"},
{L"\\bes\\b", L"Spanish"},
{L"\\bpl\\b", L"Polish"},
{L"\\bru\\b", L"Russian"},
{L"\\bzh_cn\\b", L"ChinesePRC"},
{L"\\bzh_tw\\b", L"ChineseTaiwan"},
{L"\\bja\\b", L"Japanese"},
{L"\\bko\\b", L"Korean"},
{L"\\bpt\\b", L"PortugueseStandard"},
{L"\\btr\\b", L"Turkish"},
{L"\\bnl\\b", L"Dutch"},
{L"\\blt\\b", L"Lithuanian"},
{L"\\blv\\b", L"Latvian"},
{L"\\bet\\b", L"Estonian"}
};
次のように *.h で配列を宣言します。
extern wstring pairs[][2];
これで、他の *.cpp で配列を使用できますがpairs
、コードを使用するサイズを取得できません:
size_t cnt = _countof(pairs);
エラーメッセージが表示されました:
1>e:\work\vc++\justtest\console\console.cpp(45): error C2893: Failed to specialize function template 'char (*__countof_helper(_CountofType (&)[_SizeOfArray]))[_SizeOfArray]'
1> With the following template arguments:
1> 'std::wstring [2]'
このような配列を使用できるかどうか混乱していますか? 誰でも私を助けることができますか?