Can';不要参考这种方法 当我开始学习C++和算法时。我想在模块范例中对代码进行分组。因此,我将排序过程分为3个文件,如下所示: 排序.h namespace sort { void insertSort(int* a,int size); }

Can';不要参考这种方法 当我开始学习C++和算法时。我想在模块范例中对代码进行分组。因此,我将排序过程分为3个文件,如下所示: 排序.h namespace sort { void insertSort(int* a,int size); },c++,C++,排序.cpp #包括“sort.h” 名称空间排序 { } void sort::insertSort(int*a,int size) { inti,j,key; 对于(j=1;j=0&&a[i]>键) { a[i+1]=a[i]; i=i-1; } a[i+1]=键; } } main.cpp #include<iostream> #include"sort.h" int main() { int a[6]={5,2,4,6,1,3}; sort::insert

排序.cpp

#包括“sort.h”
名称空间排序
{
}
void sort::insertSort(int*a,int size)
{
inti,j,key;
对于(j=1;j=0&&a[i]>键)
{
a[i+1]=a[i];
i=i-1;
}
a[i+1]=键;
}
}
main.cpp

#include<iostream>
#include"sort.h"
int main()
{
    int a[6]={5,2,4,6,1,3};
    sort::insertSort(a,6);
    for(int i=0;i<6;i++) std::cout<<a[i]<<'\t';
    return 0;
}
#包括
#包括“sort.h”
int main()
{
int a[6]={5,2,4,6,1,3};
sort::insertSort(a,6);

对于(int i=0;i当您构建整个程序时,请确保将所有对象文件链接在一起。链接器正在抱怨,因为您的
main()
函数正在调用
sort::insertSort
函数,该函数已在
sort.h
中声明,但其定义尚未作为一个整体包含在程序中


我不知道特定的Dev-C++环境需要哪些参数,但通常情况下,请确保所有
cpp
文件都在发送到编译器前端的命令行中。

将函数定义放在命名空间的大括号内!感谢您的建议。但是当我将函数定义放在名称空间的竞争。问题与以前一样出现。@Tai向我们展示构建command@Tai您尚未在命令“D:/main.cpp”-o“D:/main.exe”-I“C:/Program Files/Dev cpp/MinGW32/include”-I“C:/Program Files/Dev cpp/“-I”C:/Program Files/Dev cpp/include/common”-L“C:/Program Files/Dev cpp/lib/wx/gcc_lib”-L中链接sort.cpp“C:/Program Files/Dev Cpp/lib”-L“C:/Program Files/Dev Cpp/MinGW32/lib”
#include<iostream>
#include"sort.h"
int main()
{
    int a[6]={5,2,4,6,1,3};
    sort::insertSort(a,6);
    for(int i=0;i<6;i++) std::cout<<a[i]<<'\t';
    return 0;
}