0
我有一个头文件和一个cpp文件,我正在尝试构建。多功能定义错误
.cpp文件:
#include "SelectionSort.h"
void SelectionSort::Fill(){
Buffer = new char[Size];
for(int i=0;i<Size;i++){
Buffer[i] = rand() % 10;
}
}
void SelectionSort::PrintOut(){
for(int i=0;i<Size;i++){
cout<<Buffer[i]<<endl;
}
}
void SelectionSort::Sort(){
int lowest;
for(int i=0;i<Size;i++){
lowest=i;
for(int j=i;j<(Size-i);++j)
if(Buffer[j]>lowest) lowest = j;
swap(Buffer[lowest], Buffer[i]);
}
}
.h文件中:
#ifndef SELECTIONSORT_H
#define SELECTIONSORT_H
#include <algorithm>
#include <stdlib.h>
#include <iostream>
using namespace std;
class SelectionSort {
public:
SelectionSort();
SelectionSort(int S){Size= S;}
void Fill();
void PrintOut();
void Sort();
private:
int Size;
char * Buffer;
};
#endif /* SELECTIONSORT_H */
但我得到这些错误:
SelectionSort.cpp:17:“选择排序的多个定义: :PrintOut()'
SelectionSort.cpp:17:此处首先定义
SelectionSort.cpp:23:23::此处首先定义
SelectionSort.cpp:10:的多个定义 '选择排序::填充()'
的 '选择排序::排序()'
SelectionSort.cpp多重定义SelectionSort.cpp:10:首先在这里定义,
我如何定义我的函数不正确?
我正在使用netbeans及其通用make/build设置。我一直想要更多地了解make文件,我是否应该尝试编写自己的文件并解决问题?
你是如何编译/链接呢? – GWW 2011-01-29 01:32:41