我有一个默认的int&
参数(如iNewArgument)在头文件添加到现有的函数定义:如何使用带有默认值的int&参数?
什么是初始化的最后一个参数,使其取默认值的语法?
..
virtual int ExecNew
(int& param1, int& RowIn,int& RowOut, char* Msg = '0',
bool bDebug=true, int& iNewArgument = NULL) = 0 ;
.
.
NULL已经#defined 0
Error: default argument: cannot convert from
int
toint&
如果你希望它能够为null,那么你需要一个指针而不是引用。 – 2010-07-06 22:10:44
我与迈克在这。请参阅[我的答案](http://stackoverflow.com/questions/3190571/c-int-reference-question/3190603#3190603)。 – sbi 2010-07-06 22:18:58
我拿回来(我删除了我的答案)。除了约翰尼斯,每个人都忽略了“虚拟”。为虚拟函数设置默认参数并不是一个好主意。 – sbi 2010-07-06 22:29:46