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

Ссылка на неразрешенную лексему - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Непонятный код? http://www.cyberforum.ru/cpp-beginners/thread627325.html
Подскажите, что выполняется в следующем коде и каким образом? int main() { char buf; while ( cout << "> " && cin >> buf ) cout << "< " << buf << "\n< " << buf << endl; return 0; }
C++ Таблица строк программы на C++ Прочитал в книге: Когда компилятор сталкивается со строковой константой, он сохраняет её в таблице строк данной программы и создаёт указатель на эту строку. ex. cout << strlen("Ксантиф"); В результате "Ксантиф" образует указатель на начало этой фразы в таблице строк программы. Вопрос: как можно просматривать эту таблицу строк и можно ли её вручную очищать от ненужных строк? http://www.cyberforum.ru/cpp-beginners/thread627324.html
C++ Необычное событие для программы
У меня в данный момент есть программа на С++ в консольном формате и вторая в Винформ формате (Vb.net), я через AttachConsole (Винапи) подключаюсь к консольной и могу отправлять туда текст типа Console.WriteLine("test") мне нужно чтобы в программе (консольной) было событие о таком сообщении (что из чужой программы пишут) и обработать строку которая пришла из другой, как-то так :)
C++ Указатели и их обнуления
Вот допустим есть такая штука. //... class Parasya () { private: int dom; public: Parasya ()
C++ Расчет системы уравнений http://www.cyberforum.ru/cpp-beginners/thread627270.html
Здравствуйте. Готовлюсь к экзаменам по с++, язык начал изучать недавно. Не могу понять что нужно сделать в задании ( примеры заданий по экзамену), задание №2 - прикреплено в файле. Я так понял там где ax+b cosx, нужно подставлять х от нуля до 4-х не включая 4-х, с шагом 0.1, в нижнюю часть аналогично, получается у = системе с двумя диапазонами чисел ( вверху и в низу), что мне с ними делать?...
C++ Игровой движок! Подскажите пожалуйста с чего начать писать движок? И еще несколько книг которые мне помогут его написать. Как я понял помимо c++ нужно еще писать на directx? Движок будет 3d. Жду ответов заранее спасибо:) подробнее

Показать сообщение отдельно
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
14.09.2012, 08:54     Ссылка на неразрешенную лексему
В вашем последнем коде ошибки происходят в f(). Туда из border() передаются координаты, например:
C++
1
2
3
4
5
6
7
for(unsigned int i2 = 0; i2 < tMatrix.N; i2++)
        {
            for(unsigned int j2 = 0; j2 < tMatrix.M; j2++)
            {
                mas1[i2][j2] = **f(i2, j2, tMatrix, mas5); //!!!
            }
        }
Они могут быть равны 0 или максимальному индексу массива. В этих случаях в f() происходит обращение за границу массива.
C++
1
2
if(tMatrix.mas[x][y]==-1 && tMatrix.mas[x+1][y]!=-1 && tMatrix.mas[x][y+1]!=-1 && tMatrix.mas[x-1][y]!=-1 && mas5[x][y]==-1)
    {mas5[x][y]=(mas5[x+1][y]+mas5[x][y+1]+mas5[x-1][y])/3;}
Например, если x = 0, то x - 1 - выход за границу. Если x = max индексу массива, то x + 1 - выход за границу. А заход в те if(), куда предполагается заход при таких значениях (углы, границы) не происходит, из-за того, что не выполняются другие условия.
Ошибка с mas5 устраняется, если float** mas5; сделать в глобальной области. Прототип записать так: float** IterMetod(struct TMatrix &tMatrix, float **mas5);, IterMetod() вызывать так: IterMetod(matrix, mas5);
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru