2016-09-19 5 views

答えて

3

'##'前処理演算子を使用して連結します。​​を参照してください。 オペレータの両面からトークンを取り出し、トークンを1つ生成します。

がここに古典的な使い方です:あなたのケースでは

#define foo(x, y) x ## y 

foo(aa, bb) // expands to 'aabb' 

、有効な式に展開するために連結する必要はありませんpと(13)以来、##にする全く使用はありません。 最新のバージョンboostで##が消えているのは興味深いことです。

また、コンパイラエラーになる独自に無効なトークンとして、「(p」を貼り付けるしようとして打ち鳴らすは、括弧で##好きではないようです。

+0

はい。ありがとう。私は私は間違った方法で質問しました。申し訳ありません。 –

関連する問題