下面的代码在我的工作系统中工作,相同的代码在我的PC中抛出一个错误。
std::bitset<32> my_bit(*(uint32_t*)&(OFDM_cod[V][a/8].real()));
Error:
lvalue required as unary ‘&’ operand有什么建议吗?为什么会这样?提前谢谢!
发布于 2017-03-17 13:55:47
你不能取一个临时地址,这就是
&(OFDM_cod[V][a/8].real()));在做什么。它可以简化为
&x.real(); //here assuming real() does not return a reference这可不是好事。您的代码可能在一个不符合标准的编译器中工作,这个编译器对此很放松,但是这种行为违背了C++标准。
https://stackoverflow.com/questions/42859357
复制相似问题