我有一个现有的功能,我想添加一个参数并为其设置一个默认值,这样它就不会影响使用它的其他模块。
BOOL myFunc(int A, CString& strTest);
将其初始化为 NULL 或 0 会给我一条错误消息。如何在我的 func 声明中初始化 strTest?
最佳答案
可能将其初始化为空字符串:
CString dummy = "";
BOOL myFunc(int A, CString &strTest=dummy);
如果您允许使用默认值,您可能希望将其作为对 const
字符串的引用:
BOOL myFunc(int A, CString const &strTest = dummy);
不过,您可能想考虑使用重载——保留现有函数的原样(没有额外参数),并编写第二个函数(可能转发到第一个函数)以获取额外参数:
BOOL myFunc(int A);
BOOL myFUNC(int A, CString const &strTest);
关于c++ - 如何在函数中初始化 CString& 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15018105/