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

Помогите устранить ошибку: ссылка на неразрешенный внешний символ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сложение двух одномерных матриц поэлементно (проверьте код) http://www.cyberforum.ru/cpp-beginners/thread1209398.html
Пожалуйста, проверьте на ошибки. Надо поэлементоно сложить две матрицы одномерных. #include <iostream> using namespace std; int main() { int i; int X, Y, A;
C++ Дан одномерный массив размером М. Упорядочить элементы с нечетными номерами по возрастанию Всем день добрый! Помогите, пожалуйста с задачей на языке С++. , а с четными номерами по убыванию. Ввод данных осуществлять с клавиатуры, вывод исходного массива и результатов- в файл. страница... http://www.cyberforum.ru/cpp-beginners/thread1209395.html
Упорядочить строки матрицы по неубыванию их наибольших элементов (Delphi->C++) C++
Дана матрица размером NxM. Упорядочить ее строки по неубыванию их наибольших элементов. program N60094766; {$APPTYPE CONSOLE} var a:array of integer; n, m, i, j, k, imin, jmin, jmax,...
Автоматизация ввода с клавиатуры C++
Возможно существуют готовые решения, буду благодарен за информацию. Необходимо написать приложение которое будет перехватывать нажатие комбинации одной-двух заданных клавиш на клавиатуре. После...
C++ Вычислить и вывести в виде таблицы значения функции, заданной рядом Тейлора http://www.cyberforum.ru/cpp-beginners/thread1209364.html
Помогите решить задачу, желательно используя цикл for. Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, от xнач до xкон с шагом dx с точностью ε.
C++ Оператор преобразования типа и его эквивалентные замены, поиск строки в текстовом файле , содержащей заданный Господа, был бы очень признателен если бы кто то помог ответить на вапросы http://cs616225.vk.me/v616225102/122f8/5kAaFEGoDn0.jpg подробнее

Показать сообщение отдельно
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
17.06.2014, 05:13
это зачем:
C++
1
char a1[3] = "A1";
?
Здесь неверно:
TypeTruck[i].type[3] = "A1";
Вам уже подсказали что записью:
C++
1
char *type[3];
Вы создаете массив из трех указателей на тип char.
Если вы хотите массив символов, размер которого равен трем, то нужно объявлять его так:
C++
1
char type[3];
Далее, вот здесь вы ЧЕТВЕРТОМУ (нумерация массивов начинается с 0) указателю из массива type присваиваете строку "A1". Вышли за границу. Это плохо. Когда начнете удалять массивы в деструкторе, программа упадет, так как вы пытаетесь удалить локальную константную строку.

Добавлено через 14 минут
Далее, вот здесь вы ЧЕТВЕРТОМУ (нумерация массивов начинается с 0) указателю из массива type присваиваете строку "A1". Вышли за границу. Это плохо. В этом месте программа скорее всего не упадет, так как адрес строки попадет в countType, потому что в объявлении именно эта переменная идет после char *type[3]. А вот в этом месте программа упадет:
C++
1
puts(TypeTruck[i].type[3]);
так как пытаетесь прочитать память неизвестно откуда (элементов в массиве у Вас 3, а потрогать вы хотите четвертый).
Но даже вот так делать не стоит:
C++
1
TypeTruck[i].type[2] = "A1";
потому что, когда начнете удалять массивы в деструкторе (вот так delete[] type[2]), программа упадет, так как вы пытаетесь удалить локальную константную строку.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru