undefined reference to 错误 恳请高手指点
小弟写了一个简单排序的算法,linux下用codeblocks编译老报错:"undefined reference"。在windows 用vs2010正常编译运行。想请教一下,到底哪有问题???
main.cpp文件:
#include <iostream>
#include "simpleSort.h"
#define NUM 100
using namespace std;
int main(){
int num;
float a[NUM];
cout<<"请输入所有数的个数:";
cin>>num;
for(int i=0;i<num;i++){
cout<<"第"<<i+1<<"个:";
cin>>a[i];
}
SSort *sSort = new SSort(a,num);
sSort->sort();
sSort->display();
}
simpleSort.h文件:
#ifndef SIMPLESORT_H_INCLUDED
#define SIMPLESORT_H_INCLUDED
#include<iomanip>
using namespace std;
class SSort
{
float* a;
int num;
public:
SSort(float x[],int n);
void sort();
void display();
};
#endif // SIMPLESORT_H_INCLUDED
simpleSort.cpp文件:
#include <iostream>
#include<iomanip>
#include "simpleSort.h"
using namespace std;
SSort::SSort(float x[],int n){
a=x;
num=n;
}
void SSort::sort(){
int count;
float min,temp;
for(int j=0;j<num;j++){
min=1000.0f;
count=-1;
for (int i=j;i<num;i++){
if(a[i]<min){
min=a[i];
count=i;
}
}
temp=a[count];
a[count]=a[j];
a[j]=temp;
}
}
void ISort::display(){
cout<<"简单选择排序:"<<endl;
for(int i=0;i<num;i++) cout<<setprecision(3)<<a[i]<<" ";
cout<<endl;
}
错误信息:
undefined reference to `SSort::SSort(float*, int)'
undefined reference to `SSort::sort()'
undefined reference to `SSort::display()'