Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Недопустимое использование типа в качетве выражения С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти минимальный элемент каждого столбца матрицы http://www.cyberforum.ru/cpp-beginners/thread454834.html
Написать програму обработки двомерного масива A(M,N) значение M и N любые. Если у нас есть матрица Cij (i=1,...,M;j=1,...,N) записать вектор X (i=1,...,M),для которого xi - произведение минусовых...
C++ Code::Blocks 10.05 - как откомпилировать и просмотреть результат кода. Здравствуйте! Недавно скачал программу Code::Blocks 10.05. Кто знает, подскажите новичку, как откомпилировать и просмотреть результат кода. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread454832.html
Какую сложность имеет операция find над set C++
Какую сложность имеет операция find над set? O(log n), или нет?
C++ Как в файле удалить n байт, начиная с заданной позиции
Вопрос: как в файле удалить n байт начиная с заданной позиции? (файловый ввод-вывод в стиле C++)
C++ Создание интерфейса пользователя в текстовом режиме http://www.cyberforum.ru/cpp-beginners/thread454807.html
Создание интерфейса пользователя в текстовом режиме. Библиотека PDCurses. (С++) Задание: В текстовом режиме экрана реализуйте возможность рисования (какими-либо символами) прямоугольников с помощью...
C++ Строки STRING - как присвоить в S - B Всем Привет, не знаю как присвоить в S - B , помогите плиз) #include <iostream> int a; using namespace std; int main() { string s, b; char m; int i, j, n , l, kol, x; подробнее

Показать сообщение отдельно
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
29.02.2012, 22:36
В дебагере есть еще вкладка Call Stack (в руссом варианте наверно стек вызовов). На картинке вашей не вижу. В общем найдите такую вкладку и используйте тоже. В ней можно увидеть откуда мы пришли в функцию, и какие там были значения переменных.

По поводу ошибки с cin >> f;
Такое только в функции Cmen::input, которая вызывается из функции
void add( CIndivid *p , int r )
Ок, смотрим туда:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void add( CIndivid *p , int r ){
 
  // Дебагер говорит, что r == 50; т.е. размеру массива.
 
        int c , x=0, i ;
        cout << " Enter skilky objektiv dodaty : " ;
         cin >> x ;
        for( i=0 ; i<r ; i++ ){
           if( p[i].f=='\0' )
             break ;
           }
 
  // После этого цикла i будет равно r, т.е. 50.
 
        for(  c=0 ; c<x ; c++ ){
           // p[i + c]  -- с + i всегда больше 50 т.е. тут выход за пределы массива.
           // Это и есть ошибка.
           p[i+c].input();
           }
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru