私は適切な#define
関数のようなマクロを書こうとして頭を悩ませてきましたが、動けなくなりました。これが私が取り組んでいる例です:
#include <iostream>
#define pMAKE(x,y,z,dest)\
(dest).(x) = (x);\
(dest).(y) = (y);\
(dest).(z) = (z);
struct pt {
double x, y, z;
};
int main() {
pt p;
pMAKE(0,1,2,p);
return 0;
}
そして、私が得ているエラー:
A.cpp: In function ‘int main()’:
A.cpp:13: error: expected unqualified-id before ‘(’ token
A.cpp:13: error: expected unqualified-id before ‘(’ token
A.cpp:13: error: expected unqualified-id before ‘(’ token
エラーは何を意味し、エラーが発生するのはなぜですか? 以下を思い通りに動作させることができましたが、正直なところ運が良かったので、何が起こっているのか真剣に理解していません.
#define pMAKE(X,Y,Z,dest)\
dest.x = (X);\
dest.y = (Y);\
dest.z = (Z);
私はあらゆる助けに感謝します!