Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Френдовый оператор умножения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чем "operator *=" отличается от "operator *"? http://www.cyberforum.ru/cpp-beginners/thread280510.html
снова застряла, не могу понять, чем этот оператор должен отличаться от оператора*.....? вот он, но это работает только в случае оператора*. Matrix Matrix::operator*=(double x) { Matrix...
C++ двухмерный массив Нужна программа на С Найти для каждой строки сумму элементов нечетных столбцов. М = 3, N = 3 http://www.cyberforum.ru/cpp-beginners/thread280508.html
Неправильная параллельная конфигурация C++
Добрый день!столкнулся с огромной проблемой,которую не умею решать. Перестала работать vs2008,cmake,paraview и несколько других,хотя вчера все работало.При запуске выдает ошибку: Не удалось...
SMTP запросы. C++
Всем привет. Вопрос не совсем про программирование, но не нашел лучшего места чтобы задать его. Нужно написать простой почтовый клиент. Пробую разобраться с SMTP через telnet: user@ubuntu:~$...
C++ Записать на языке программирования выражение. http://www.cyberforum.ru/cpp-beginners/thread280478.html
Линейное!!!
C++ Абрамов Помогите сделать задачу Абрамова на курсовую работу, очень нужно срочно !! Вот условие: http://i20.***********/big/2011/0420/24/795ba8eba51e631ce89d78b7421d7d24.jpg подробнее

Показать сообщение отдельно
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.04.2011, 12:11  [ТС]
Так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class A
{
 protected A (...);
...
};
...
class B
{
 public:
 ...
 friend
 B operator *  (double  x, A &a); 
};
...
B operator *(double x, A &a)
{
...
}
 
A a;
B b=10.0*a;
компилит, а так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class A
{
 protected:
  A (...);
...
 public:
 const static A a;
};
const A a(...);
...
class B
{
 public:
 ...
 friend
 B operator *  (double  x, A &a); // Эту строку компил проглотил
};
...
B operator *(double x, A &a) // А вот эта строка ему не нравится. Почему?
{
...
}
 
B b=10.0*A::a;
ругается на последнюю строку. Пишет:
error: no match for ‘operator*’ in ‘1.0e+1 * A::a’
Добавлено через 1 минуту
Проект велосипедистый со своими типами размерных величин и единиц измеренения.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru