c - 将 define 与 double constant 一起使用会导致在内联工作时计算失败

标签 c avfoundation c-preprocessor

在下面的示例代码中,为什么sample_breaks编译失败?

#define ONE_FRAME_OF_30FPS_2 = 1.0/30.0;

void sample_works() {
    double partOfSecondAVFoundationNumber = 2 * 1.0/30.0;
}

void sample_breaks() {
    double partOfSecondAVFoundationNumber = 2 * ONE_FRAME_OF_30FPS_2;
}

最佳答案

变成这样:

void sample_breaks() {
    double partOfSecondAVFoundationNumber = 2 * = 1.0/30.0;;
}

预处理后。所以你会预料到一个错误。

更改为

#define ONE_FRAME_OF_30FPS_2 (1.0/30.0)

相反。

关于c - 将 define 与 double constant 一起使用会导致在内联工作时计算失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22762959/

相关文章:

ios - 有没有更好的方法来观察键值变化?

c - 重新分配字符串文字

c++ - 在 C 程序中添加 C++ 代码 - 预期 ‘,’ 或 ‘...’ 之前的 ‘this’

c - 使用宏进行类型检查

ios - 哪些iphone条码sdk可以同时扫描多个一维条码

ios - 使用 AVMutableVideoCompositionLayerInstruction 修改 Track,尺寸和位置偏差

c - 有没有办法从字符串中获取 evdev 键码?

c++ - Coan 给出了带有定义符号的 "expands to nothing within expression"

c++ - C++ 跨平台编程

c - 如果堆内存满了会发生什么?