Witam mam zdefiniowaną klasę:
class LiczbaZespolona
{
friend class Macierz_double;
friend class Wektor_double;
public:
float re;
float im;
LiczbaZespolona operator * (const LiczbaZespolona& Arg2);
LiczbaZespolona operator + (const LiczbaZespolona& Arg2);
LiczbaZespolona operator = (int i);
};
oraz oraz przeciążenie znaku = dla tej klasy:
LiczbaZespolona LiczbaZespolona::operator = (int i)
{
LiczbaZespolona wynik;
re=i;
im=i;
return wynik;
}
gdy próbuję wykorzystać to przeciążenie:
TYP Wektor_double::operator *(Wektor_double wektor)
{
LiczbaZespolona wynik=0;//TUTAJ
for(int i=0;i<=3;i++)
{
wynik=wynik+(wspolrzedne[i]*wektor.wspolrzedne[i]);
}
return wynik;
}
To kompilator wyrzuca mi błąd: conversion from ‘int’ to non-scalar type ‘LiczbaZespolona’ requested
Nie rozumiem dlaczego on probuje konwertowac typ int na typ LiczbaZespolona skoro ma zdefiniowane przeciążenie tego operatora dla tej sytułacji. Pomożecie?