Так что я, что простой код внутри метода щелчка кнопки:C++ MFC отсутствует Const символ * переменная
std::stringstream ss;
unsigned counter = 0;
while(true)
{
ss.clear();
ss << DEFAULT_USER_CONFIG_NAME << " " << ++counter;
const char* name = ss.str().c_str();
MessageBox(name);
/* ... while break condition */
}
Проблема заключается в том, что MessageBox пуста. Но она работает правильно, когда я прохожу текст непосредственно:
MessageBox(ss.str().c_str()); // that shows text just fine
То, что я нашел с отладчиком, что «название» локальная переменная не создается (по крайней мере, он не отображается в отладчике). Любая подсказка, почему она работает, когда передается напрямую и не работает иначе? Кроме того, когда я выбрал «имя» для CString, он вернул true при проверке IsEmpty().
Все это в соответствии со стандартом. Проблема с первой версией заключается в том, что 'ss.str()' разрушается до 'MessageBox (name)' call. У вас есть какие-либо вопросы? – LogicStuff