如何在函数中初始化CString&参数
How to initialize CString& parameter in a function
我有一个现有的函数,我想添加一个参数并为它设置一个默认值,这样它就不会影响其他使用它的模块。
BOOL myFunc(int A, CString& strTest);
将其初始化为NULL或0会给我一条错误消息。如何在函数声明中初始化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);
您可以尝试这种方式
A.h
class A{
public:
static CString defArg;
bool myFunc(int A, CString& strTest=defArg);
};
A.cpp
CString A::defArg = "defArg";
bool myFunc(int A, CString& strTest){
//what you need to do
}
相关文章:
- 如何反转整数参数包
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 如何使用默认参数等选择模板专业化
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 函数调用中参数的顺序重要吗
- 部分定义/别名模板模板参数
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 使用不带参数的函数访问结构元素
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 没有大小参数的CString::GetBuffer()做什么
- 使用 CString 参数调用 UpdateAllViews
- 使用 const CString& 而不是单独使用 CString 作为函数参数是否有任何性能优势?
- RESHARPER C :允许CSTRING作为%S PRINTF参数
- ToCString 的标头在哪里,或者如何将参数转换为 cstring?
- 需要将cstring转换为byte*,并需要在c++函数中将其作为i/p参数传递
- 如何在c++函数中将cstring参数值复制到本地cstring
- 如何在函数中初始化CString&参数