3
C++のマクロに関する質問があります。別のマクロを使用するマクロの奇妙な動作
マイコード:
#define a [i]
#define b(i) t a
int main(){
int t[10];
int i=0;
b(i+1)=1;
}
プリプロセッサ後
募集結果が行い、その仕事:
int main(){
int t[10];
int i=0;
t[i+1]=1;
}
実際の結果:
int main(){
int t[10];
int i=0;
t[i]=1;
}
は私が何が起こっているかを理解しますが、どのような方法があります私はプリプロセッサに私がしたいことをさせることができますか? (このコードをマクロの一部として解釈するよりも、最初にマクロbのコードを置き換えてください)
シンプルなソリューション - あなたはこれをしたい理由 – Slava
は、私が聞いてもプリプロセッサを使用していませんか? – Borgleader
私も()に渡しますか? –