В main.cpp я должен напечатать свой массив char следующим образом:
const char *str(CValue::TestStringValue0());
cout << ' ' << *str << endl; //must not change
Я не могу это изменить! Поэтому мне нужно напечатать мой массив char, но не первое значение массива.
TestStringValue выглядит так.
static const char* TestStringValue0() {...}
Я не уверен, что правильно вас понимаю, но если вы не должны изменять эту строку:
cout << ' ' << *str << endl; //must not change
Тогда вы можете сделать вот так:
const char *tempStr(CValue::TestStringValue0());
const char **str = &tempStr;
cout << ' ' << *str << endl; //must not change
В этом случае cout выведет всю строку, возвращенную из TestStringValue0, тогда как в исходном коде будет напечатан только первый символ.
PS Какое странное состояние у вас есть :)
const char *str(CValue::TestStringValue0());
const char *p = str;
for ( ; *str; ++str )
{
cout << ' ' << *str << endl; //must not change
}
:)
endl
в конце cout
:)
TestStringValue0()
? Вместо возврата, например,str
вы должны вернутьstr+1