Переменная застряла в If - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь выучить C ++ и создаю какое-то бесполезное приложение для тестирования.Я работаю с const char и аргументами, и в этом коде я не могу получить строку заголовка.

const char* title = "";
if (argc >= 3) {
    string tittle(argv[2]);
    title = tittle.c_str();
}

Пожалуйста, помогите мне!

1 Ответ

0 голосов
/ 21 мая 2018

Проблема в том, что при использовании

    title = tittle.c_str();

у вас остается висячий указатель.Вместо const const* title используйте std::string title.

std::string title;
if (argc >= 3) {
    title = argv[2];
    cout << "true";
}

Если вам нужно на char const* позже в вашей программе, вы можете использовать title.c_str().Надеюсь, вам это не понадобится.

...