![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Maryann |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
помогите найти ошибку:
..... перегрузка такая:
|
||||
|
|||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
ошибка-то в чём? опять телепатов вызывать? |
|||
|
||||
| Maryann |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
и он выдает такое сообщение: Unhandled Exception что неправильно не могу понять. Вроде должно работать? |
|||
|
||||
| Ulysses4j |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 6.6.2007 Где: Ростов-на-Дону Репутация: 4 Всего: 10 |
Напишите текст main() по одному оператору в строчке и запустите — должно стать понятно, в какой момент вылетает. Скорей всего дело в вводе-выводе — пиведите код vvod, vivod.
-------------------- Communication is critical to the job of a programmer. C. Jazdzewski. Fatherly Advice To New Programmers |
|||
|
||||
| Maryann |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
дело в том, что он не выделяет какую-либо ошибку, просто вылетает окно - General Protection Exception |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Maryann, предоставленный Вами код выглядит нормально. А если убрать все строчки из main, то будет GPE?
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Maryann |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
Если убрать все строчки из main() , никаких ошибок он не выдает
ошибка возникает, только после строчки m3=m1+m2 Это сообщение отредактировал(а) Maryann - 20.1.2008, 15:58 |
|||
|
||||
| ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 2 Всего: 95 |
Maryann, а не уничтожается ли объект temp до того, как его значение будет передано в объект m3?
-------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
| Ulysses4j |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 6.6.2007 Где: Ростов-на-Дону Репутация: 4 Всего: 10 |
Под MSVC 9.0 все прекрасно работает, исключений нет. Вы от нас ничего не скрываете? ;) Какой компилятор?
Добавлено через 3 минуты и 8 секунд
С какой стати? Все чисто: все данные хранятся по значению (длина, массив int), вызывается по умолчанию сгенерённый копиктор, который их благополучно побайтово копирует. -------------------- Communication is critical to the job of a programmer. C. Jazdzewski. Fatherly Advice To New Programmers |
|||
|
||||
| Maryann |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
ama_kid, возможно, и что же теперь делать?
|
|||
|
||||
| ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 2 Всего: 95 |
Maryann, ну для начала упомянуть компилятор\среду разработки, потому как у меня на MSVC++ 2005 тоже все отлично проглатывается без GPE
-------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
| Maryann |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
ama_kid, Borland C++, version 4.5 copyright 1991, 1994
Добавлено через 13 минут и 43 секунды Только что написала то же самое для векторов - заработало!!! |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Невозможно. Сменить компилятор(если это позволяют обстоятельства). Советую MinGW или MSVC Express. Это сообщение отредактировал(а) archimed7592 - 20.1.2008, 17:30 -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Ulysses4j |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 6.6.2007 Где: Ростов-на-Дону Репутация: 4 Всего: 10 |
Самое странное, что в Borland C++ 3.1 работает... А если вам предложить выбросить этот компилятор в топку и скачать нормальный, вы, конечно же, откажетесь?
-------------------- Communication is critical to the job of a programmer. C. Jazdzewski. Fatherly Advice To New Programmers |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
не факт. более чем возможно что где-нибудь в не превиденном коде аффтора рушиться память.
Отладчик мой друг Отладчик мой друг Отладчик мой друг Отладчик мой друг Отладчик мой друг Отладчик мой друг Отладчик мой друг Отладчик мой друг Отладчик мой друг Отладчик мой друг Отладчик мой друг Отладчик мой друг Отладчик мой друг -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| Maryann |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
У меня есть 4 или 5 разных компиляторов )), но среди них нет такого, который работал бы для всех тем. Вот например с файловой системой - ни один нормально не работает, со списками - не все, приходится уродовать алгоритмы , рекурсию в деревьях они вообще не признают, а в остальном так, средненько. Вот так и живу(. Я уже вообще не верю, что нормальные компиляторы существуют(((
|
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Чушь какая-то... Если эти компиляторы начала 90-х(или старше), то совет сменить на современный уже был дан(ты ж не удивляешься, что запорожец не всегда ездит -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Ужас какой. Как же только люди во всём мире программируют, не задумывалась? mingw, intel'овский, борландовский старше 98-го года, visual-овский старше 2003-го. По-моему, есть из чего выбрать Добавлено через 38 секунд archimed7592, мысли опять сходятся |
|||
|
||||
| Maryann |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
Может быть, но часто бывает так, что на одном компиляторе программа работает, а на другом вылетает вообще. Вот сдам сессию - буду искать нормальный компилятор |
|||
|
||||
| archimed7592 |
|
||||||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Ок, притча о программистах, у которых работает только на одном компиляторе, а на другом программа сыплется. У меня есть ф-ция, которая меняет местами элементы в массиве. Она принимает указатель на массив и два индекса(тех элементов что нужно местами поменять).
Но, т.к. я больно умный, я решил записать это в одну строку:
Логично? Логично! Читаемо? Безусловно! Лаконично? А то! (подумал я). Я завершил свой проект, но полгода спустя заказчик потребовал перейти на компилятор X(по каким-то, ведомым одному ему причинам). Что ж, подумал я, сейчас настроим скрипт сборки на компилятор X и делов то! А не тут-то было... Две недели под отладчиком не принесли результата... Заказчик был недоволен. И т.д. и т.п. Теперь, внимание, вопрос: Maryann, как ты считаешь, кто, в данной ситуации виноват, компилятор или программист? Подумай, может не компилятор надо искать, а книгу какую-нибудь толковую, да время найти, чтобы более детально изучить язык? -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||||||
|
|||||||||
| Ulysses4j |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 6.6.2007 Где: Ростов-на-Дону Репутация: 4 Всего: 10 |
Конечно... заказчик! -------------------- Communication is critical to the job of a programmer. C. Jazdzewski. Fatherly Advice To New Programmers |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Первое правило менеджера: клиент всегда прав
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
Каким компилятором пользоваться зависит от того - каким компилятором это будут компилировать в универе, одновременно и под старые и под новые заточить код не получится.
|
|||
|
||||
| Maryann |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
здесь - программист
Книга - книгой, изучать язык - это все хорошо. Я, собственно, этим и занимаюсь. Но ведь в том, что моя перегрузка работает неправильно, виноват компилятор? Так что компилятор искать тоже надо. Добавлено через 4 минуты и 13 секунд Lazin, у нас в универе такие компиляторы, на которых мало что работает, там очень старые версии) . Поэтому под них никто и не пытается писать))) |
||||
|
|||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Вина компилятора не доказана. Полный код в студию. И выполнеяемые действия, приводящие к краху. Добавлено через 51 секунду вспомнил пословицу: select isn't broken © кто-то -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Уже было сказано, но я повторю: если компилятор допотопный, то виновата ты, посколько выбрала такой компилятор. Если компилятор современный, то скорее всего виновата ты, посколько современные компиляторы и работают одинакого(по Стандарту) и багов в них мало(по крайней мере, наткнутся на них сложно). В конце концов, попробуй как-то более конструктивно обосновать, что виноват именно компилятор и ты увидишь, что он вовсе не виноват -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Cycle |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 1.12.2007 Репутация: 3 Всего: 3 |
У-у-у-у демагогию развели. На всякий случай напомню какой был код:
Maryann, если вам ещё актуально для сесии, попробуйте перегрузить оператор =. Может в нем компилятор тупит. Ещё по-моему тут неявно вызывается конструктор копирования, но за второе отвечать не буду. |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Компилятор редко тупит... Чаще тупят программисты. К примеру, в данном случае, ни ОП, ни КК явно определять не нужно, ибо компилятор обязан определить их и, поверьте, он их определяет. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Ulysses4j |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 6.6.2007 Где: Ростов-на-Дону Репутация: 4 Всего: 10 |
Я бы добавил: и в данном случае сгенерированные копиктор и оператор копирующего присваивания корректны. Все-таки меня терзают смутные сомнения, что от нас что-то скрывают... Maryann, вы бы выложили целиком файлы, которые не работают... Это сообщение отредактировал(а) Ulysses4j - 22.1.2008, 01:01 -------------------- Communication is critical to the job of a programmer. C. Jazdzewski. Fatherly Advice To New Programmers |
|||
|
||||
| Maryann |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
ну вот:
Добавлено через 46 секунд перед m3=m1+m2 - ошибка Добавлено через 4 минуты и 35 секунд
я его перегрузила так:
и он тоже не работает( |
||||||||||
|
|||||||||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
а как же
? что вводим, Добавлено через 10 секунд ???? -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| Maryann |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
целые числа . Например 1 2 3
|
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
В чём точно заключается ошибка? Не надо его перегружать! По моим расчётам нужно вводить 8 чисел... -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| warmonger_ |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 7.7.2007 Где: г. Киев Репутация: 1 Всего: 3 |
Maryann, проверил этот код. работает. вывод:
и должно работать. Это сообщение отредактировал(а) warmonger_ - 23.1.2008, 16:09 --------------------
Make everything as simple as possible, but not simpler.Albert Einstein |
||||
|
|||||
| Maryann |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
вылетает сообщение gpe, ничего конкретного не говорится
да, 8: 1 2 3 4 1 2 3 4 например. Добавлено через 1 минуту и 58 секунд
это хорошо. Хорошо еще, что на экзамене компилировать не надо будет...эх |
||||||
|
|||||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Maryann, Вы можете назвать компилятор? Уже не в первый раз просим...
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| warmonger_ |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 7.7.2007 Где: г. Киев Репутация: 1 Всего: 3 |
archimed7592,
уже называли... --------------------
Make everything as simple as possible, but not simpler.Albert Einstein |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
неужели автору не кажется, что он "малёхо" староват? |
|||
|
||||
| student0511 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 26.3.2006 Репутация: нет Всего: нет |
Вот тоже проблемы, подобного типа, при перегрузки операции + возвращает не готовый элемент, а элемент после удаления. Вот полный код:
Ошибок не выдаёт, но поля элемента M3 представляет не окончательный вариант, а вот что: MX: 0x00000000 -> CXX0030: Error: expression cannot be evaluated n: -858993460 m: -858993460 Компилятор: Visual C++ 6 1994 - 1998 г. А если добавить деструктор, то вообще вылетает с ошибкой. |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
конструктор копирования определи. А вообще лучше определить в класе операции тип *=, где * это тип операции, и определить свободные ф-ии где эти операторы и будут вызваться. Но конструктор копирования в данном случае все равно необходим.
|
|||
|
||||
| student0511 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 26.3.2006 Репутация: нет Всего: нет |
Чё-то я не догнал, а где использовать конструктор копирования? Вот я создаю temp, в последствии его поля заполняются как надо, но когда возвращается значение из функции, результат почему-то исчезает, т.е. он не переходит в M3, почему? Я же объявил конструктор, где выделяется память под необходимое поле (MX). И не очень мне ясно, что вы упомянули о свободных функциях и операциях тип *=, если можно по-подробнее, то очень бы хотелось. Заведомо премного благодарен!
Добавлено через 9 минут и 59 секунд Ну вот я написал конструктор копирования:
но тогда operator= не вызывается, а в выражении M3 = M1 + M2 вызывается сразу этот самый конструктор, не дав поработать operator+ 'у. |
|||
|
||||
| vinter |
|
||||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
1. когда temp возвращается из ф-ии он копируется, и удаляется. А так как у тебя не переопределен конструктор копирования вызывается конструктор копирования по умолчанию, вследствии чего у тебя копируется указатель, который удаляется при удалении Temp. В результате в объекте который получен из temp содержится кривой указатель, который никуда не указывает.
2.
вот тебе пример, того, что я имел в виду Добавлено @ 09:53
вот такой у тнебя должен быть контсруктор копирования. Это сообщение отредактировал(а) vinter - 20.4.2008, 09:59 |
||||
|
|||||
| student0511 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 26.3.2006 Репутация: нет Всего: нет |
Создал я такой конструктор копирования, написал operator+=(Matrix&), переписал соответствующим образом operator+(Matrix& rM), кстати, последний не может иметь более 1 аргументов, комп. ругается на operator+(Matrix& lM, Matrix& rM). Вот что в конечном образом получилось
Конструктор копирования
Перегруженный +=
И наконец-то operator+
И вот что получается при вызове конструктора копирования в строке Matrix temp(*this); передается *this уже пустой, т.е. MX 0xcccccccc -> CXX0030: Error: expression cannot be evaluated n -858993460 m -858993460 Вот последнего я что-то не пойму: почему именно так происходит?! Я немного ошибся, в конструктор в строчке Matrix temp(*this); копируется всё нормально, но вот когда возвращается результат trmp+=lM, то перед этим вызывается деструктор, который удаляет temp, а в конечный результат уже копируется, судя по всему, удалённый temp, что влечёт вызов конструктора без параметров и получаем M3: MX(NULL), n(0), m(0). Хотя без перегруженного деструктора результат тот же. Это сообщение отредактировал(а) student0511 - 20.4.2008, 14:15 |
||||||
|
|||||||
| vinter |
|
||||||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
операцию покажи которую ты выполняешь. |
||||||
|
|||||||
| student0511 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 26.3.2006 Репутация: нет Всего: нет |
Не не пашет, переделал, а результат остался прежним.
Вот весь текст программы
Выражение сложение двух объектов: M3 = (M1 + M2); , соответственно. Это сообщение отредактировал(а) student0511 - 20.4.2008, 14:48 |
|||
|
||||
| baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
Будет работать, если здесь
задашь размерность M3:
|
||||
|
|||||
| student0511 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 26.3.2006 Репутация: нет Всего: нет |
Ну да, работает, а почему не пашет, если не задавать размер?
|
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
для этог случая у тебя будет всегда
т.к в дефолтовом конструкторе ты обнуляешь n, m Добавлено через 2 минуты и 5 секунд вообще у тебя неправильно написан класс, сам допускаешь возможность NULL указателя при присваивании, а никак это не проверяешь. Либо проверяй это, либо уберай дефолтовый конструктор в private. |
|||
|
||||
| student0511 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 26.3.2006 Репутация: нет Всего: нет |
Всё. Исправил. Работает.
Вот код
Вот только некоторые вопросы остались: а обязательно при создании operator ('+' или '-', '+=' или '-=') результат возвращать по ссылке и передавать, и что это даёт? Хотя убрал ссылки с operator'ов + и - : всё работает вроде как надо, а убрал передачу аргумента по ссылке в += и -=, то уже никак. В чём проблема? И ещё один вопрос: как применить конструктор к указателю this и возможно ли это? А то в operator= лишний код дублируется, хотелось бы так: (*(this))(M.n, M.m), - компиллятор выдает ошибку "error C2064: term does not evaluate to a function". :-( Это сообщение отредактировал(а) student0511 - 21.4.2008, 00:30 |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
student0511, читай книги.
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |