BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #38515同步于 2010/4/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

【求助】关于一个工程多个头文件和多个源文件的问题

nxlhero
2010/4/24镜像同步1 回复
头文件1 Complex.h #ifndef COMPLEX_H #define COMPLEX_H #include<iostream> #include<cstdlib> #include<cmath> #include<fstream> #include<vector> using namespace std; class Complex { double real; double img; public: const Complex& operator = (double a); const Complex& operator = (const Complex& a); ............... } 然后一个源文件Complex.cpp,实现这个类的方法。 头文件2 FFT.h #include"Complex.h" #include<fstream> using namespace std; #define PI 3.1415926 #define N 8 class FFT{ public: Complex data1[N]; Complex data2[N]; Complex p_wn[N]; //positive wn Complex n_wn[N]; //negative wn public: void wn(void); //calculate wn void change_order(Complex *data); void fft(Complex * dst,Complex * src,int p); void ifft(Complex *dst,Complex * src,int p); void load_data(char *path); void print_data(); }; 然后是FFT.cpp,里面的FFT类中的方法用了类似于a=b;的语句,其中,a,b为Complex类。 当我把Complex.h和FFT.h作为两个头文件加入devC++工程或Qt工程时,会出现 [Linker error] undefined reference to `Complex::operator=(Complex const&)' 明明我已经定义了,而且,我把FFT.h及其实现全部加到Complex.h中时,DevC++就没这个问题了,但是Qt中不能这样。求大牛帮忙。是我头文件重复了,还是因为赋值号重载的问题?其他的运算符也重载了,但是都没有问题。
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
ericyosho机器人#1 · 2010/4/25
我问个问题呗,为啥要返回一个const的类型? 一定要const么?