返回信息流头文件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中不能这样。求大牛帮忙。是我头文件重复了,还是因为赋值号重载的问题?其他的运算符也重载了,但是都没有问题。
这是一条镜像帖。来源:北邮人论坛 / cpp / #38515同步于 2010/4/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
【求助】关于一个工程多个头文件和多个源文件的问题
nxlhero
2010/4/24镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复