Как инициализировать CString & amp; параметр в функции

У меня есть существующая функция, и я хотел бы добавить параметр и установить для него значение по умолчанию, чтобы оно не влияло на другие модули, которые его используют.

BOOL myFunc(int A, CString& strTest);

Инициализация его к NULL или 0 дает мне сообщение об ошибке. Как мне инициализировать strTest в моем объявлении func?

0

Решение

Вы можете попробовать таким образом

хиджры

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
}
1

Другие решения

Вероятно, инициализируйте его пустой строкой:

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);
2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector