![]() |
|
|
![]()
|
|
| MrKreazy |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.9.2010 Репутация: нет Всего: нет |
Добрый день. Помогите пожалуйста разобраться со следующим моментом.
В программе необходимо производить много вычислений с использованием векторов (а также типов, расширяюших тип вектора), для облегчения работы и улучшения "читабельности" текста программы перегружаю операторы, в том числе оператор умножения:
Соответственно 1 и 2 функции выполняют скалярное умножение и умножение на число
Далее пытаюсь применить перегруженные операторы в основной программе:
ошибка
Внимание, вопрос: что я делаю не так? Заранее спасибо за внимание. Это сообщение отредактировал(а) MrKreazy - 2.9.2010, 15:09 |
||||||||
|
|||||||||
| kemiisto |
|
||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
Навскидку. Написано, что второй параметр
а пытаетесь умножить на integer
Либо vec3=vec2*real(2), либо дописать умножение на целое число. -------------------- |
||||
|
|||||
| MrKreazy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.9.2010 Репутация: нет Всего: нет |
Спасибо, как все просто оказалось... В чем только не искал ошибку, а про самое простое забыл
p.s. не пишите не языках с автоматическим преобразованием типаов Это сообщение отредактировал(а) MrKreazy - 2.9.2010, 15:21 |
|||
|
||||
| Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 5 Всего: 49 |
Только зачем все это? Скалярное умножение уже встроено в язык и называется dot_product, умножение вектора на число и так реализуется в виде той же "звездочки".
|
|||
|
||||
| MrKreazy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.9.2010 Репутация: нет Всего: нет |
1) для того чтобы сократить запись, потому что когда в выражении пара скалярных произведений, да еще помноженных на что-нибудь, да еще и с парой параметров код становится трудно читаемым с 1 взгляда.
2) кроме того, хотелось бы, чтобы запись в итоге больше походила на математическое выражение: писать a*b вместо dot_product(a%x,b%x), 3) плюс еще существует производный тип(основан на том же векторе, но еще с дополнительными параметрами), который после сложения/умножения должен образовывать вектор приведу еще пример
а теперь нужно вычислить abc(v1-v2)... а вычитать нельзя(без перегрузки), дополнительная переменная-не вариант, можно конечно передавать массив, но для меня так удобнее, да и зачем тогда вообще нужны типы? |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Fortran | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |