1
我閱讀了一些示例代碼,並且瞭解了我以前從未見過的這種##語法。該代碼示例如下:什麼是##語法?
#define DEF_MAKE_BT_1_COMP(BT)\
inline i_##BT make_i_##BT(i_##BT::vtype x) { return make_##BT(x); }
#define DEF_MAKE_BT2(T) \
DEF_MAKE_BT_1_COMP(T##1); \
DEF_MAKE_BT_2_COMP(T##2);
DEF_MAKE_BT2(double);
當我在最後一行是遇到錯誤「make_double1」是不確定的。有沒有人見過這種語法?
令牌串聯。在SO上被問及幾次回答。與以往一樣,困難將會找到正確的問題,使之成爲重複的。 –
詞法連接。 https://gcc.gnu.org/onlinedocs/cpp/Concatenation.html –
請參閱[C預處理器和令牌串聯](http://stackoverflow.com/questions/1489932/)。 –