170 похожих чатов

Подскажите что ошибка означает и как исправить? [bcc32c Error] File1.cpp(152):

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 с оператором -, который все числа массива делает отрицательными

4 ответов

13 просмотров

Где строка 152?

И да, нечего выкидывать эту кучу кода в таком виде в чат. А также надо слушать бота, когда он говорит про теги. Код заливается на pastebin.com

Надо такое на pastebin , в следующий раз прошу так и поступать

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта