1 / 0 / 1
Регистрация: 02.10.2012
Сообщений: 71
|
||||||||||||||||
1 | ||||||||||||||||
Нелогичная работа кода15.03.2014, 18:39. Показов 1867. Ответов 35
Метки нет (Все метки)
Есть код. Но делает он совсем не то, что по идее должен.
Вот код: 1) файл main.cpp
Написал код, вроде должен работать. Но, в итоге получаются какие-то дивные вещи: 1) Вводишь count - все ок. Когда вводишь num то в count уже другие значения. 2) View выводит бред взятый непонятно откуда. Почему код работает таким странным способом? Как исправить ошибку?
0
|
15.03.2014, 18:39 | |
Ответы с готовыми решениями:
35
Нелогичная работа mouse_event MOUSEEVENTF_MOVE Неправильная работа кода Сортировка Шелла работа кода Работа со стеками, объяснение кода программы |
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
15.03.2014, 18:45 | 2 |
Размер массива укажите.
Добавлено через 1 минуту Не по теме: Вот нафига люди подключают iostream и пишут using namespace когда не используют ни то, ни другое? Добавлено через 1 минуту Ссылка по теме (видимо) http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
0
|
Croessmah
|
15.03.2014, 18:45
#3
|
0
|
1 / 0 / 1
Регистрация: 02.10.2012
Сообщений: 71
|
|
15.03.2014, 18:57 [ТС] | 4 |
Размер массива заранее неизвестен. Пользователь может ввести один символ, а может и не один.
0
|
61 / 37 / 16
Регистрация: 15.03.2014
Сообщений: 315
|
|
15.03.2014, 19:09 | 5 |
MrDreher, так выделяйте память динамически, используя указатели.
0
|
1 / 0 / 1
Регистрация: 02.10.2012
Сообщений: 71
|
|||||||||||
15.03.2014, 19:46 [ТС] | 6 | ||||||||||
Вот так работает:
1) Файл LongNumber.hpp
0
|
С++ Beginner
120 / 120 / 77
Регистрация: 28.02.2013
Сообщений: 246
|
|
15.03.2014, 19:58 | 7 |
1
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
15.03.2014, 20:05 | 8 |
MrDreher, делает вид, что работает. Локальный объект num_str уничтожается после выхода из области видимости и указатель становится невалиден.
2
|
just_freelance
|
15.03.2014, 20:08
#9
|
0
|
rikimaru2013
|
15.03.2014, 20:13
#10
|
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
15.03.2014, 20:16 | 11 |
0
|
1 / 0 / 1
Регистрация: 02.10.2012
Сообщений: 71
|
|
15.03.2014, 20:16 [ТС] | 12 |
Если я в LongNumber.hpp заменяю "char *num" на "string num" при компиляции выдает ошибки: 1) Type name expected 2) Declaration missing
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
15.03.2014, 20:21 | 13 |
В этот "массив" он вообще ничего ввести не может, вводить просто некуда, так как размер равен нолю.
Добавлено через 2 минуты А ничего, что базовый тип указан безо всяких переименований? В моих прогах вообще все такие указатели не зависимо от фактического типа зовут Data и ничего, не путаюсь. А вот за присваивание локального адреса надо не руки рубить, а хвост.
0
|
MrDreher
|
15.03.2014, 20:35
[ТС]
#14
|
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|
15.03.2014, 23:16 | 15 |
MrDreher, у тебя там еще одна проблема, про которую никто не сказал. Нельзя писать в объект std::string через scanf таким образом как у тебя написано.
Компилятор это пропустил только потому, что в scanf эллипсис (три точки), который априори не проверяет типы.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
16.03.2014, 05:26 | 16 |
Не может, в отличие от кода ТС и твоего. Имя переменной должно говорить только о её назначении, а о типе должен говорить тип. У меня так и есть.
0
|
Заблокирован
|
|
16.03.2014, 06:07 | 17 |
боян. в данном случае массива просто не как такового. Это Си наследованный синтаксис константного указателя. Это гавно вообще и крестов в частности. Убей себя крестами, пиши на си++.
__ Негодующий функциональщик. Добавлено через 1 минуту ты должен понимать разницу. Но ты ее не понимаешь и не знаешь. А если будешь пытаться писать программы на с++ то никогда и не узнаешь.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
16.03.2014, 06:14 | 18 |
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
16.03.2014, 06:15 | 20 |
Да ну! А на чём же её ещё узнавать? Неужели на бейсике, где char* просто не предусмотрен? Или ваще не прологе, где нет и string?
0
|
16.03.2014, 06:15 | |
16.03.2014, 06:15 | |
Помогаю со студенческими работами здесь
20
Работа с файлом в виде двоичного кода Работа с двумерным массивом - разобрать строку кода Не правильная работа кода с std::string::empty() Непонятна часть кода программы - работа с файлами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |