![]() |
|
Модераторы: bsa |
![]()
|
|
| new_web |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
Делал программу, которую опысывал в теме
Первая программа для людей, Как облагородить своё творение? добавил StatusBar и смотрите, что сказал компилятор (до этогог програма давно, исправно работала) :
Это целых 7 ошибок! Удаляю StatusBar - эти ошибки не исчезают. Приходится загружать по-новому проект ,с того места. где он был сохранён. Я не понимаю, что значат эти сообщения, и почему моё безневинное действие - я только добавил, привело копмилятор в такую неопределёееость - в итоге 7 ошибок. Интересно. что когда ставлю на путую форму, то проблемы не возникает |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 1 Всего: 128 |
А это говорит лишь о том, что виноват твой собственный код. Очень вероятно, что у тебя где-то в коде есть функция Windows, или класс Windows, что конфликтует с соответствующим объектом из указанного компилятором файла. То же самое с перегруженными операторами. Проверь этот факт. |
|||
|
||||
| soroka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 9.2.2008 Репутация: нет Всего: нет |
У меня тоже бывали такие случаи при использовании операторов, подскажите. как правильно их использовать операторы, или лучше тогда стараться их вообще не использовать?
|
|||
|
||||
| new_web |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
Спасибо, я понял! Наверное, лучше всего переделать программу, не используя операторов, ибо, если честно, я не совсем понимаю как их правильно использовать... недоучился ещё - просто, попробовал - оно заработало, считало правильно. значит хорошо....
|
|||
|
||||
| new_web |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
Ошибка возникла из-за некоректного удаления компонентов из формы - правду пишут учебники -
НИКОГДА НЕ УДАЛЯЙТЕ КОДА, СОЗДАННОГО АВТОМАТИЧЕСКИ если не знаеете. что вы делаете. Я тогда думал, что знал. Пробовал методом научного тыка, какой компонент чё делает, подходит, не подходит, а удалял... по разному, и из .h файла вручную...был такой грех. Остались лишние #include - они и потом взорвались. Удалил лишние #include -на этом всё - вопрос решён! |
|||
|
||||
| bsa |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Для тех, кто не понимает что это за ошибки:
|
||||||||||
|
|||||||||||
| new_web |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
Ого! Спасибо теперь буду знать, ибо тогда я так и не понял, чём речь, удалив лишнее я добился правильной компиляции.
Из выше приведённого кода я понял. что этим перегружается оператор "+" для его применения к неким объектам классов, только. не совсем понимаю ещё, для чего это нужно. и как оно будет работать
Что принимает переменная у? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Зависит от того, что за переменная y и что возвращает используемый operator+(). В данном контексте это неважно. |
|||
|
||||
| new_web |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
Самое обидное в моём случае это то. что я так и не добрался до этого места, где случилась ошибка, проблема устранилась как-бы сама-собой(см. выше)... Из моей колокольни мне кажется что у переменной "у" должен быть тип сопоставимый с типом слагаемой переменной...наверное?... В будущем. когда я научусь понимать смысл
Я постараюсь помнить и недопустить подобной ошибки, спасибо! |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
__fastcall - это способ вызова (кажется, порядок расположения аргументов функции в стеке при ее вызове)
System - это пространство имен (namespace System) operator+ - это такое встроенное имя функции (можно прям так и писать: y = System::operator+(x, z); ) double - встроенный вещественный тип const - атрибут константности Variant&/Currency& - ссылки на объекты соответствующих классов, объявленных в пространстве имен System. Что еще непонятно? |
|||
|
||||
| new_web |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
||||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
System::Variant - это тип, позволяющий хранить любой стандартный тип данных (строка, int, char, double...):
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |