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

No match for 'operator=' . Что не так? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычисление корней системы уравнений методом Крамера http://www.cyberforum.ru/cpp-beginners/thread1179896.html
Составить программу вычисления корней системы уравнений с двумя неизвестными методом Крамера. \left\{\begin{matrix} & & a1x+b1y=c1 \\ & & a2x+b2y=c2\end{matrix}\right. Помогите плиз ! ато на заочке учусь ни черта толком не объясняют а уже сдавать (((
C++ Вычисление функций и не только Помогите решить, раньше хоть что то знал, а сейчас все забыл) Задания положено переписывать в текст сообщения http://www.cyberforum.ru/cpp-beginners/thread1179887.html
Циклический алгоритм. Табулирование функции C++
Помогите пожалуйста ! ) Напечатать значения функции z = 1/(x-2)+1/(x-5)+ln(12,8-X) для x, изменяющегося на отрезке с шагом 1.
Перегрузка операторов для матриц, запись в файл C++
#include<iostream> #include<conio.h> #include<locale> using namespace std; int n; class matrix { int **a; public: matrix::matrix(){a=new int *;
C++ Составить программу вычисления корней системы уравнений с двумя неизвестными методом Крамера http://www.cyberforum.ru/cpp-beginners/thread1179852.html
Составить программу вычисления корней системы уравнений с двумя неизвестными методом Крамера. \inline \left\{\begin{matrix} & & a1x+b1y=c1\\ & & a2x+b2y=c2\end{matrix}\right. Помогите плиз ! ато на заочке учусь ни черта толком не объясняют а уже сдавать (((
C++ Структуры. Хранение и поиск необходимой информации Здравствуйте.Помогите пожалуйста. Организовать каталог книг, хранящихся в библиотеке, а также тех, которые могут быть получены по запросу из других хранилищ. Необходимо обеспечить эффективную обработку требования читателя по его запросу (наличие конкретной книги, книг определенного автора, подходящих по названию и т. д.). подробнее

Показать сообщение отдельно
Маринчик
 Аватар для Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 123
18.05.2014, 17:36     No match for 'operator=' . Что не так?
во всей программе выбивает только одну ошибку.. надоел этот вопрос но что не так????????
92 no match for 'operator=' in 'P3 = operator<(matr&, matr&)(((matr&)(&P2)))'


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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include<iostream>/*zagolovochnij fajl s klassami, funktsijami i peremennimi dlja organizacii vvoda-vivoda v jazike programmirovaniya C++*/
/*#include <stdlib.h>*/
using namespace std;/*ob'javlenie prostranstva imen  std.*/
 
class matr
{ public:
  float  *x;
  int n,m;
  public:
  matr(int, int);
  matr (matr& f);
  void vvod();
  void ww();
  friend matr  operator+(matr& ob1, matr& ob2);
  matr&  operator=(matr& ob2);
  ~matr();
};
//==============================================
//konstryktor s parametrami
matr::matr(int _n, int _m)
{    n=_n; m=_m;
     x=new float [n*m];
     puts("\n konstryktor ");
}
//==============================================
//konstryktor kopii
matr::matr(matr& f)
  {
  n=f.n;
  m=f.m;
  x=new float [n*m];
 for(int i=0; i<n; i++)
 for(int j=0; j<m; j++)
*(x+i*m+j)=*(f.x+i*f.m+j);
  cout <<" rabotal konstryktor kopii  ";
  }
//==============================================
 
void matr::vvod()
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
*(x+i*m+j)=rand() % 101 - 50;
}
//==============================================
 
matr::~matr ()
{
delete[]x;
puts("\n rabotal destryktor");
}
//==============================================
 
matr  operator<(matr& P1, matr& P2)
{
matr rez(P1.n, P1.m);
puts("\n rez dla + ");
for(int i=0;i<rez.n;i++)
for(int j=0;j<rez.m;j++)
*(rez.x +i*rez.m+j)=*(P1.x+i*P1.m+j)+*(P2.x+i*P2.m+j);
return rez;
}
//==================================
matr& matr::operator=(matr& P2)
{
matr rez(P2.m,P2.n);
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
*(x+i*m+j)=*(P2.x+i*P2.m+j);
return * this;
}
//==================================
void matr::ww()
{
for(int i=0;i<n;i++)
{
cout<<"\n" ;
for(int j=0;j<m;j++)
cout<< *(x+i*m+j)<<"  "; }
}
//==================================
 
int main()
{
matr P1(3,4);
P1.vvod();
P1.ww();
matr P2(3,4);
P2.vvod();
P2.ww();
matr P3(3,4);
P3=P1<P2;
P3.ww();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru