错误 C2102 “&”要求左值
wrong code
typedef struct CodeData {
void *ptr_;
CodeData(void*ptr) : ptr_(ptr){}
} CodeData;
typedef struct Data {
int data_;
data(int data) : data_(data){}
} Data;
// 这里出错,因为&后面是临时变量,不能取地址
CodeData(&Data(0));
// 应改为
Data data(0);
CodeData(&data);