[問題] # macro 參數不足的問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
vc6.0
問題:
程式碼如下
#include <iostream>
using namespace std;
# define _www_(prefix,member) prefix##_www__##member
extern int _www_(,From);
int main ()
{
printf("%d", _www_(,From));
return 0;
}
錯誤訊息如下:
D:\Test\test1.cpp(7) : warning C4003: not enough actual parameters
for macro '_www_'
D:\Test\test1.cpp(11) : warning C4003: not enough actual parameters
for macro '_www_'
Linking...
test1.obj : error LNK2001: unresolved external symbol "int From_www__"
(?From_www__@@3HA)
問題描述
事實上並不是想問上述程式要怎麼改才會編輯通過,
想請教的是, 當我呼叫_www_(,From)時, 少了第一個參數,
那為什麼在編輯時, 錯誤訊息卻是告訴我 From_www__
不是應該是 _www__From 嗎?
有朋友用gcc, 用VC2008, 雖然也是會有錯誤, 但他們得到都是_www__From,
我是用VC6.0卻得到From_www___,
請問是純compiler的問題嗎?
另外, 若仍堅持呼叫 _www_(, From), VC6.0下要如何修改#define?
謝謝.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.121.117
→
09/20 20:06, , 1F
09/20 20:06, 1F