c++ - 如何在函数中初始化 CString& 参数

标签 c++ initialization cstring

我有一个现有的功能,我想添加一个参数并为其设置一个默认值,这样它就不会影响使用它的其他模块。

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/

相关文章:

python - 从图像中分割相似强度的对象

c++ - MPEG2 演示时间戳 (PTS) 计算

c++ - C++ 容器内的 char* 作用域

objective-c - 如何自定义类似 'stringWithFormat' 的方法?

c++ - 使用具有不同参数的相同运算符

c++ - 如果元素 ID 与搜索参数匹配,如何从 std::vector 中删除元素

c# - 为什么C#局部变量必须初始化?

c++ - 如何使用构造函数中的参数调用 C++ 中另一个类的构造函数?

java JMenuItem NullpointerException(覆盖 swing 类时初始化错误)

c++ - 自定义 C 类型字符串类的问题