2010-03-03 60 views
1

我從一個供應商的工具一堆生成的函數被我定義。由於這些函數中的每一個函數的內部功能都完全相同,我想我可以使用宏來使我的生活更輕鬆。無效的預處理記號警告信息

這裏是有問題的警告:

pasting "<function_name>" and "(" does not give a valid preprocessing token 

現在,我定義我的宏如下:

#define HANDLE_FUNCTION(x)    \ 
    void <function_prefix>_ ## x ## (void) \ 
    {          \ 
    x ## _Flag = TRUE;     \ 
    } 

在我的代碼,然後我寫:

HANDLE_FUNCTION(fn1) 
HANDLE_FUNCTION(fn2) 

...等

任何thoug hts爲什麼會發生這種情況?

回答

5

刪除第二個##,它沒有用(你不想讓一個符號的function_name()。

+0

當然......謝謝! – espais 2010-03-03 13:49:59