0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 146
|
||||||
1 | ||||||
Ошибка в функции15.11.2013, 02:44. Показов 2370. Ответов 58
Метки нет (Все метки)
Не могу исправить ошибки можете помочь, тут в dynamic::dynamic(int n, int m, float l) ошибки:
1.error C2109: для индекса требуется массив или указатель 2.error C2660: dynamic::Create: функция не принимает 2 аргументов
0
|
15.11.2013, 02:44 | |
Ответы с готовыми решениями:
58
А почему ошибка, что функции print и read не определены в функции main()? Ошибка формирования отчета в СКД: ошибка при попытке вычисления значения агрегатной функции Ошибка в шаблоне функции: "Отсутствуют экземпляры шаблон функции, соответствующие списку аргументов" Ошибка "Присваивание имени функции вне тела этой функции" при наличии двух одноименных функций в одном контексте |
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
|
15.11.2013, 03:09 | 2 |
А можно прикрепить ещё и "Dynamic.h"?
У вас в 47 строчке элемент-функция create определена как функция без параметров, то есть не принимающая никаких аргументов. А в 14 строке вы пытаетесь ей каким-то непонятным (может быть только для меня, но не для вас или кого-нибудь ещё) образом что-то передать. И что такое z?
0
|
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 146
|
||||||
15.11.2013, 03:13 [ТС] | 3 | |||||
StackOverflow,
StackOverflow, с create ошибку исправил но вот с z не могу
0
|
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
||||||
15.11.2013, 03:26 | 4 | |||||
Вы в newMemory привязываете к одному и тому же указателю два динамических массива? Как я понял, вы хотели создать двумерный динамический массив? Так это не так делается.
0
|
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 146
|
||||||
15.11.2013, 03:31 [ТС] | 5 | |||||
StackOverflow, да мне нужно двумерный динамический массив
Добавлено через 2 минуты StackOverflow, как я понял мне нужно будет вот там выделать память
0
|
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
||||||
15.11.2013, 03:33 | 6 | |||||
0
|
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 146
|
|
15.11.2013, 03:36 [ТС] | 7 |
StackOverflow, понял, а что же с z делать, я просто так и не нашел в чем проблема(
0
|
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
||||||
15.11.2013, 03:42 | 8 | |||||
А зачем вам в newMemory что-то передавать? Сервисная функция, пусть она сама с элементами данных и взаимодействует в открытую. Я бы сделал так:
0
|
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 146
|
|
15.11.2013, 03:45 [ТС] | 9 |
StackOverflow, из ошибок осталась только
error C2109: для индекса требуется массив или указатель
0
|
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
|
15.11.2013, 03:49 | 10 |
Остальные моменты, связанные с указателем, поправили (синтаксис)?
0
|
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 146
|
|
15.11.2013, 03:52 [ТС] | 11 |
StackOverflow, да, осталось вот это, из-за него не хочет работать а найти в чем там дело не могу, уже раз 100 перерыл весь код
0
|
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
|||||||||||
15.11.2013, 03:57 | 12 | ||||||||||
В интерфейсе объявите указатель на двумерный динамический массив:
И освобождение памяти поправить не забудьте.
0
|
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 146
|
|
15.11.2013, 04:04 [ТС] | 13 |
StackOverflow, теперь выбивает на выводе массива на экран, там пишет чтение памяти невозможно
0
|
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
|
15.11.2013, 04:10 | 14 |
Теперь кидайте ваш main().
0
|
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 146
|
||||||
15.11.2013, 04:13 [ТС] | 15 | |||||
StackOverflow, у меня выведение в ф-ции Napus, там есть наша матрица
StackOverflow, + у меня еще буде 2 конструктора, один с 3мя аргументами и еще один с 6ю
0
|
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
|
15.11.2013, 04:19 | 16 |
Так вы создали объект, используя конструктор по умолчанию. Этот конструктор только инициализирует элементы данных m, n и z. Но он не вызывает функцию create(), которая в свою очередь вызывает сервисную функцию newMemory() для выделения памяти под массив. Естественно, что вы ничего не можете вывести, так как вы ещё ничего не создали, и ваш указатель ни к чему не привязан и ни на что не указывает.
0
|
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 146
|
|
15.11.2013, 04:22 [ТС] | 17 |
StackOverflow, а можете поподробней с кодом где ошибки обяснить, а то я уже с этим кодо 10й час вожусь
0
|
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
|
15.11.2013, 04:33 | 18 |
Без проблем. Смотрите, у вас есть несколько конструкторов в интерфейсе класса. В своей программе вы создаёте объект класса без каких-либо параметров. Следовательно, срабатывает конструктор по умолчанию, который делает ровно три вещи (в вашем коде): он инициализирует переменную m и n нулём, а также создаёт нулевой указатель z. Дале в вашей программе пользователь вводит число, чтобы выбрать тот или иной пункт меню. Если он выбирает пункт 1, то программа попросит его ввести размерность матрицы (вызывается элемент-функция write( m, n ) класса Dynnamic). Эта функция, в свою очередь, лишь присвает новые значения элементам данных m и n. Но указатель по прежнему ни на что не указывает, память до сих пор не выделена, двумерный динамический массив до сих пор не создан и не привязан к указателю. Поэтому, когды вы используете элемент-функцию nopus(), получается так, что вы пытаетесб через разменование указателя z обратиться к тем или иным ячейкам памяти. Но указатель ни на что не указывает, поэтому и память не может быть "read". Просто добавьте функцию create() в тела всех конструкторов.
0
|
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 146
|
||||||||||||||||
15.11.2013, 04:45 [ТС] | 19 | |||||||||||||||
StackOverflow, понял, но я добавил и все ровно тоже самое(
и еще у меня вопрос возник как сделать свои main так что показывало одновременно роботу всех моих конструкторов кроме конструктора по умолчанию? Добавлено через 4 минуты StackOverflow, вот все что у меня получилось Кликните здесь для просмотра всего текста
Кликните здесь для просмотра всего текста
Кликните здесь для просмотра всего текста
0
|
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
|
15.11.2013, 04:49 | 20 |
Массив сам ещё нужно заполнить. Он у вас заполняется при помощи рандома только при вызове конструктора с параметрами.
Так, попробуйте создать объект и передать ему через конструтор все необходимые параметры, не используя write()
0
|
15.11.2013, 04:49 | |
15.11.2013, 04:49 | |
Помогаю со студенческими работами здесь
20
График функции и ошибка "Неверное число параметров функции" Ошибка функции Ошибка в функции! Ошибка в функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |