void f( int& i ){ Print( i ); }
voidOnStart()
{
int a, b;
f( a = 5 ); //error: '=' - parameter passed as reference, variable expected
f( b = a ); //error: '=' - parameter passed as reference, variable expected
}
void f( int& i ){ Print( i ); }
voidOnStart()
{
int a, b;
f( a ==5 ); //error: '=' - parameter passed as reference, variable expected
f( b == a ); //error: '=' - parameter passed as reference, variable expected
}
void f( int& i ){ Print( i ); }
voidOnStart()
{
int a = 5;
int b = a;
f(a); //error: '=' - parameter passed as reference, variable expected
f(b); //error: '=' - parameter passed as reference, variable expected
}
请解释以下行为。
它是在任何时候都稳定,还是在运行指标的第一个刻度上?
在wotch窗口中缺少_LastError值
你确定吗?
如果前者是平等的,后者也会是平等的。编译错误
编译错误
在你的例子中,这个错误是合理的,而在我的例子中,情况有所不同
我没有仔细阅读代码,自动认为你有一个有条件的if语句,但你只是有一个叫f的函数。
你应该向函数传递一个变量或一些预先计算好的值,而不是一个表达式。
你必须把一个变量或一些预先计算好的值传给函数,而不是一个表达式。
有什么区别呢?
有什么区别呢?
在第一种情况下,传递的是一个变量,在第二种情况下,传递的是操作的结果。谁知道那里有什么东西被设计成inta的?
事实上,这个参考错误已经烦人了很久,它根本就不应该存在。
有什么区别?
关于ArrayResize函数,我们有一些建议。 我们需要增加将reserve_size 参数设置为-1 的可能性,这意味着使用之前的设置值。 这样 我们就不必存储或携带这个值了。 首先用所需的保留值调整它的大小,然后就不用担心 了。否则,当你把一个数组传递给某个函数时,它会调整它的大小,但对它的预设储备一无所知,结果是把它耗尽,导致以后不必要的内存重新分配。 毕竟,我想,这个值是存储在数组的某个地方。或者说不是吗?