爲什麼下面的代碼不工作?宏定義爲類型不起作用
// Template function definition
template <typename T>
void apply(const T& input);
// Helper macro definition
#define APPLY_FUNCTION(PIXELTYPE) \
apply<##PIXELTYPE>(input);
// Use macro to call function
APPLY_FUNCTION(uint8_t);
這產生以下錯誤:
Error: pasting "<" and "uint8_t" does not give a valid preprocessing token
即使你修復了宏,你在哪裏獲得'輸入'傳遞給函數? – NathanOliver
宏不以分號結尾。 –
不是說你錯了,而是在你的宏裏面有'input'似乎不是你可以選擇的最佳做法。 –