【发布时间】:2013-08-18 09:42:56
【问题描述】:
如何将 int 传递给期望 const int 的函数。
或者有没有办法修改 cont int 值?
编辑:我应该在前面提到这一点,我正在使用用于编程 pic 微控制器的 ccs c 编译器。 fprintf 函数将 constant 流作为其第一个参数。它只会接受一个常量 int 并抛出编译错误,否则“Stream must be a constant in the valid range.”。
编辑 2:流是一个常量字节。
【问题讨论】:
-
不确定您所说的“愚弄”是什么意思...它开箱即用...
-
即使不是因为拷贝 (like this),不修改非常量数据变量也是可以的,所以没有理由不接受。另一方面,修改 const 变量是,如果在链接中将 const 切换为
r,编译器会报错。 -
这不是在抱怨
const。当它期望FILE*时,它抱怨被交给int。再想一想,由于此编译器会进行范围检查,您可能确实需要提供一个编译时间常数。但是,这与const修饰符无关。 -
@IInspectable 在这种情况下,流是常量字节。如果我通过 const uint_8,编译器会很高兴
标签: c++ compiler-construction int