とても単純なように思えますが、私には理解できません。ここに質問があります: 文字列を返す単純な関数があります:
const wchar_t* getCompanyName() { return L"Test Company";};
次のようなマクロを定義したいと思います。
#define COMPANY getCompanyName();
#define PRODUCT COMPANY L" in Canada"
const wchar_t * company = COMPANY;
const wchar_t * product = PRODUCT;
「製品」の値は「カナダのテスト会社」であると予想されますが、「テスト会社」と「カナダの」文字列のみが表示され、製品文字列に連結されることはありません
お時間をいただきありがとうございます。完全なコードは次のとおりです。
#include <stdio.h>
#include <tchar.h>
const wchar_t* getCompanyName() { return L"Test Company";};
#define COMPANY getCompanyName();
#define PRODUCT COMPANY L" in Canada"
int _tmain(int argc, _TCHAR* argv[]) {
const wchar_t * company = COMPANY; // get Test Company
const wchar_t * place = PRODUCT; // get Test Company in Canada
wprintf(company);
wprintf(place);
return 0;
}