c++ - 错误 : lvalue required as left operand of assignment using quadmath and random number generator

标签 c++ random

我正在编译 C++ 代码来运行 DFT。我在我的代码中使用 quadmath 和一个随机数生成器来增加噪音。 运行代码时:

g++ code.cc -lquadmath -o quad

我没有得到任何错误并且编译成功, 但是由于使用了随机数生成器,我必须编译为

g++ code.cc -lquadmath -std=gnu++0x -o quad

给出了一个错误 lvaule 作为赋值的左操作数。 抛出此错误的代码行是:

std::real(output_seq[y]) =std::real(output_seq[y])+( V2[x] * cosineA );

最佳答案

您正在尝试为 std::real 的结果赋值,这是一个 rvalue .

这和写作一样有意义

5.0f = std::real(output_seq[y]) + (V2[x] * cosineA);

所以你可能想这样做

output_seq[y] = std::real(output_seq[y]) + (V2[x] * cosineA);

关于c++ - 错误 : lvalue required as left operand of assignment using quadmath and random number generator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28444032/

相关文章:

c++ - 不同翻译单位的多种定义

c++ - DeleteFile() 失败但文件存在(文件名很长)

c - if语句与C中的字符串比较

java - 在特定范围内生成Java中的十进制随机数?

c++ - 我可以更改分布参数吗?

c++ - 在 C++ 中使用堆栈评估后缀

c# - 如何获取 MIDI 设备的当前状态?

c++ - 在 Qt 中使用 StackedLayout 类

javascript - 如何从一副牌中随机选择一张牌并且不再选择它?

random - 如何在不引入偏差的情况下生成一个范围内的随机 Rust 整数?