| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Вызов функции |
| Автор: OzMod 6.5.2017, 00:07 | ||
| Люди добрые ))) я как 4 дня начал изучать с++ помогите разобраться... почему меня выкидывает из программы при вызове этого блока кода... if (CoD == CoDNew) { cout << "Доступ к файлу открыт" << endl; return NamE; return CoD; return CoDNew; } а не выкидывает при выполнени этого... else { cout << "No"; return NamE; } --------------------------------------------------------------------
|
| Автор: vpf 6.5.2017, 04:12 |
| Потому что операторы return CoD и return CoDNew недоступны программе, выход будет всегда через return Name. В чем смысл трех возвратов из функции...непонятно. |
| Автор: OzMod 6.5.2017, 10:18 |
| vpf, сможешь исправить код... |
| Автор: vpf 6.5.2017, 14:16 | ||
Все компилируется и работает. |
| Автор: OzMod 6.5.2017, 15:07 |
| vpf, Спасибо большое!! Я просто только 5 день с++ изучаю, еще очень мало знаю!! |
| Автор: OzMod 6.5.2017, 19:35 | ||
vpf, слушай даже твой пример вылетает при выполнении этого блока кода...
что за...(( |
| Автор: vpf 6.5.2017, 19:42 |
| Что значит "вылетает". Этот термин применяют когда программа разрушается и выдает Exception с печатью стека вызовов и кучей диагностики. У Вас в этой строке просто выход из функции InPass() и так как эта функция последняя в функции InpFile() то выход и из нее. И так как InpFile() это последняя функция в main() то далее следует выход из main(). У Вас выход из цикла это нормальная работа программы. Если хотите чтобы выхода не было надо переписать код. Предлагаю. Установите симулятор, разберитесь как с ним работать и по шагам пройдитесь по собственной программе. И когда все станет ясно, поправьте код. |
| Автор: OzMod 6.5.2017, 21:00 | ||
| vpf, Вот что выдает при компиляции.. 21 21 C:\Dev-Cpp\Project\class.cpp [Warning] non-static data member initializers only available with -std=c++11 or -std=gnu++11 C:\Dev-Cpp\Project\class.cpp In member function 'std::string OpFILE::InpPASS()': 29 37 C:\Dev-Cpp\Project\class.cpp [Warning] extended initializer lists only available with -std=c++11 or -std=gnu++11 -------------------------------------------------------------------------------- далее когда доходит до этого кода
программа завершается и вылетает окно типа ( прекращена работа программы ) -------------------------------------------------------------------------------------------------------------------------------------- Можешь предложить другой вариант написания этого кода? Добавлено через 7 минут и 26 секунд vpf, И еще подскажи пожалуйста , где можно скачать Симулятор или как он правильно называется ? |
| Автор: vpf 7.5.2017, 04:22 |
| 1. При компиляции выдает предупреждения, скопируйте в гугл, там написано, почему они вылезают, на работу программы они не влияют. 2. Программа завершает работу потому что так написана. В приложении картинка алгоритма программы, как она работает сейчас. Чтобы написать "другой вариант" надо знать, что требуется. Выкладывайте свою версию алгоритма. |