error: expected ',' or '...' before numeric constant
union Arg
{
bool b;
char c;
WORD w;
DWORD d;
int i;
float f;
INT64* I;
void* p;
const char* s;
ViPacket* m;
uint64_t* U;
Arg(bool _b) {b = _b;}
Arg(char _c) {c = _c;}
Arg(WORD _w) {w = _w;}
Arg(DWORD _d) {d = _d;}
Arg(int _i) {i = _i;}
Arg(float _f) {f = _f;}
Arg(INT64& _I) {I = &_I;}
Arg(uint64_t& _U) {U = &_U;}
Arg(void* _p) {p = _p;}
Arg(string& _s) {s = _s.c_str();}
Arg(const char* str) {s = str;}
Arg(ViPacket& _m) {m = &_m;}
};
我想问一下为什么Arg(uint64_t& _U) {U = &_U;}这一行会报错误,谢谢各位