我需要操作符賦值方面的幫助。這是代碼:運算符= C++中的過載
Sinusoid.h:
class Sinusoid : public Component
{
float fs, f, A, fi;
int N;
double *array;
public:
Sinusoid(float fs, float f, float Ts, float fi, float A);
void count(int type=1);
void clear();
~Sinusoid();
double *getArray() { return this->array; }
double*& operator=(Sinusoid* const &rhs) {
return rhs->array;
};
};
main.cpp中:
#include "headers.h"
int main()
{
int N = 1000 * 2.5;
Sinusoid *sinus = new Sinusoid(1000, 15, 2.5, (M_PI/4), 0.7);
double **answers = new double*[7];
for (int i = 0; i < 7; i++) {
answers[i] = new double[N];
}
//lab1
//Zad1
sinus->count(1);
answers[0] = sinus;
return 0;
}
當我建立這個代碼中,我得到了以下問題:
C2440'=':無法從'Sinusoid *'轉換爲'double *'main.cpp:15
我知道我可以分配重載操作符「=」但我想要一個類的私人成員(雙*數組;);我知道我可以通過「getArray()」方法做到這一點,但我想學習更多「美麗」的做法。希望你能幫助我。
謝謝。
*答案[0] =竇? –
是的,我知道我不能使用正弦 - >數組,因爲它是類的私有成員 - 我想使用重載的操作符「=」將此分配給答案變量 – Robert
即使我做*答案[0]它是還是一樣。 – Robert