| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Fortran > [General] Перегрузка операторов |
| Автор: MrKreazy 2.9.2010, 15:00 | ||||||||
| Добрый день. Помогите пожалуйста разобраться со следующим моментом. В программе необходимо производить много вычислений с использованием векторов (а также типов, расширяюших тип вектора), для облегчения работы и улучшения "читабельности" текста программы перегружаю операторы, в том числе оператор умножения:
Соответственно 1 и 2 функции выполняют скалярное умножение и умножение на число
Далее пытаюсь применить перегруженные операторы в основной программе:
ошибка
Внимание, вопрос: что я делаю не так? Заранее спасибо за внимание. |
| Автор: kemiisto 2.9.2010, 15:04 | ||||
Навскидку. Написано, что второй параметр
а пытаетесь умножить на integer
Либо vec3=vec2*real(2), либо дописать умножение на целое число. |
| Автор: MrKreazy 2.9.2010, 15:12 |
| Спасибо, как все просто оказалось... В чем только не искал ошибку, а про самое простое забыл p.s. не пишите не языках с автоматическим преобразованием типаов |
| Автор: Фантом 2.9.2010, 22:44 |
| Только зачем все это? Скалярное умножение уже встроено в язык и называется dot_product, умножение вектора на число и так реализуется в виде той же "звездочки". |
| Автор: MrKreazy 3.9.2010, 11:48 | ||
| 1) для того чтобы сократить запись, потому что когда в выражении пара скалярных произведений, да еще помноженных на что-нибудь, да еще и с парой параметров код становится трудно читаемым с 1 взгляда. 2) кроме того, хотелось бы, чтобы запись в итоге больше походила на математическое выражение: писать a*b вместо dot_product(a%x,b%x), 3) плюс еще существует производный тип(основан на том же векторе, но еще с дополнительными параметрами), который после сложения/умножения должен образовывать вектор приведу еще пример
а теперь нужно вычислить abc(v1-v2)... а вычитать нельзя(без перегрузки), дополнительная переменная-не вариант, можно конечно передавать массив, но для меня так удобнее, да и зачем тогда вообще нужны типы? |