invalid argument type 'DinMass' to unary expression                                                                                                                                                                                                                      #include <cstdlib>
                  
                  
                  #include <conio.h>
                  
                  
                  #include <cstdio>
                  
                  
                  using namespace std;
                  
                  
                  
                  
                  
                  class DinMass {
                  
                  
                    int size, *mas;
                  
                  
                  
                  
                  
                  public:
                  
                  
                    void info(); // Информация об авторе
                  
                  
                  
                  
                  
                    DinMass(int p_size = 0, int N = 0) { // Конструктор
                  
                  
                      if (p_size) {
                  
                  
                        size = p_size;
                  
                  
                        mas = new int[size];
                  
                  
                        if (N) {
                  
                  
                  
                  
                  
                          for (int i = 0; i < size; i++) {
                  
                  
                            mas[i] = random(N) - random(N);
                  
                  
                          }
                  
                  
                        }
                  
                  
                        else {
                  
                  
                          for (int i = 0; i < size; i++) {
                  
                  
                            mas[i] = 0;
                  
                  
                          }
                  
                  
                        }
                  
                  
                      }
                  
                  
                      else {
                  
                  
                        mas = NULL;
                  
                  
                        size = 0;
                  
                  
                      }
                  
                  
                    }
                  
                  
                    void Show(); // Вывод массива
                  
                  
                    int *GetMass ();
                  
                  
                    //--------------------------------------
                  
                  
                    int *operator - (DinMass &);
                  
                  
                    int GetSize();
                  
                  
                    DinMass& operator = (const DinMass & m) {
                  
                  
                      if (&m != this) {
                  
                  
                        if (mas) {
                  
                  
                          delete[]mas;
                  
                  
                        }
                  
                  
                        if (m.mas) {
                  
                  
                          size = m.size;
                  
                  
                          mas = new int [size];
                  
                  
                          for (int i = 0; i < size; i++) {
                  
                  
                            mas[i] = m.mas[i];
                  
                  
                          }
                  
                  
                        }
                  
                  
                      }
                  
                  
                      return *this;
                  
                  
                    }
                  
                  
                    friend int operator > (DinMass &, DinMass &);
                  
                  
                  
                  
                  
                    ~DinMass() { // Деструктор
                  
                  
                  
                  
                  
                    }
                  
                  
                  };
                  
                  
                  
                  
                  
                  int *DinMass::GetMass () {
                  
                  
                  return mas;
                  
                  
                  }
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  int DinMass::GetSize() {
                  
                  
                    return size;
                  
                  
                  }
                  
                  
                  
                  
                  
                  int operator > (DinMass &m, DinMass &m1) {
                  
                  
                    int *p1 = m.GetMass();
                  
                  
                    int *p2 = m1.GetMass();
                  
                  
                    int sum1 = 0, sum2 = 0;
                  
                  
                    for (int i = 0; i < m.GetSize(); i++) {
                  
                  
                    sum1 += p1[i];
                  
                  
                    }
                  
                  
                    for (int i = 0; i < m1.GetSize(); i++) {
                  
                  
                    sum2 += p2[i];
                  
                  
                    }
                  
                  
                    if (sum1 > sum2) {
                  
                  
                    return 1;
                  
                  
                    }
                  
                  
                    else {
                  
                  
                    return 0;}
                  
                  
                  }
                  
                  
                  
                  
                  
                  void DinMass::info() {
                  
                  
                    printf("Выполнил\n");
                  
                  
                    // Информация об авторе
                  
                  
                  }
                  
                  
                  
                  
                  
                  
                  
                  
                  //-------------------------------------------------
                  
                  
                  int *DinMass::operator - (DinMass& m) {
                  
                  
                     int *p = m.GetMass();
                  
                  
                     int *arr = new int [m.size];
                  
                  
                     for (int i = 0; i < m.size; i++) {
                  
                  
                     if (p[i] > 0) {
                  
                  
                     arr [i] = p[i]*(-1);
                  
                  
                     }
                  
                  
                     else {
                  
                  
                       arr [i] = p[i];
                  
                  
                     }
                  
                  
                     }
                  
                  
                  
                  
                  
                     return arr;
                  
                  
                  }
                  
                  
                  
                  
                  
                  
                  
                  
                  void DinMass::Show() {
                  
                  
                    for (int i = 0; i < size; i++) {
                  
                  
                      printf("%i ", mas[i]);
                  
                  
                    }
                  
                  
                    printf("\n");
                  
                  
                  }
                  
                  
                  
                  
                  
                  double* operator / (DinMass& m1, DinMass &m2) {
                  
                  
                  int size = 0;
                  
                  
                  int *p1 = m1.GetMass();
                  
                  
                  int *p2 = m2.GetMass();
                  
                  
                  if (m1.GetSize()  < m2.GetSize()) {
                  
                  
                  size = m1.GetSize();
                  
                  
                  }
                  
                  
                  else {
                  
                  
                    size = m2.GetSize();
                  
                  
                  }
                  
                  
                  double *array = new double [size];
                  
                  
                  for (int i = 0; i < size; i++) {
                  
                  
                  array [i] = (double)p2[i]/(double)p1[i];
                  
                  
                  }
                  
                  
                  return array;
                  
                  
                  }
                  
                  
                  
                  
                  
                  int main() {
                  
                  
                    system("chcp 1251");
                  
                  
                    randomize();
                  
                  
                    printf("Введите кол-во элементов массива k, диапозон значений x\n");
                  
                  
                    int k = 10;
                  
                  
                    int x = 100;
                  
                  
                  //  printf("k=");
                  
                  
                  //  scanf("%i", &k);
                  
                  
                  //  printf("x=");
                  
                  
                  //  scanf("%i", &x);
                  
                  
                    system("cls");
                  
                  
                    DinMass m1(10, 100), m2(k, x), m3(5, 0);
                  
                  
                    m1.info();
                  
                  
                    m1.Show();
                  
                  
                    m2.Show();
                  
                  
                    m3.Show();
                  
                  
                  
                  
                  
                    int *p = -m1;
                  
                  
                  
                  
                  
                     if (m1 > m2) {
                  
                  
                      printf("\nCумма элементов 1-го массива больше чем 2-го\n" );
                  
                  
                     }
                  
                  
                     else {
                  
                  
                       printf("\nСумма элементов 1-го массива меньше чем 2-го\n");
                  
                  
                     }
                  
                  
                  
                  
                  
                     printf("\nВывод глобальной функции\n");
                  
                  
                     printf ("Поэлиментное деление элементов массива: ");
                  
                  
                     double *q = m1/m2;
                  
                  
                     for (int i = 0; i < 10; i++) {
                  
                  
                     printf ("\n%.02f",q [i]);
                  
                  
                     }
                  
                  
                  
                  
                  
                  
                  
                  
                    printf("\n");
                  
                  
                  
                  
                  
                    system("pause");
                  
                  
                  }
                  
                  
                    нужно вывести объект m1 с оператором -, который все числа массива делает отрицательными
                  
                  
                
Где строка 152?
И да, нечего выкидывать эту кучу кода в таком виде в чат. А также надо слушать бота, когда он говорит про теги. Код заливается на pastebin.com
Надо такое на pastebin , в следующий раз прошу так и поступать
Обсуждают сегодня