鏈接階段報 undefined reference to 'sort(int[][3], double*, int)',但代碼中明明寫了實現。
// 聲明(頭文件或前置聲明)
void sort(int ar[][4], double br[], int s); // 第二維度寫 4
// 定義(cpp 文件)
void sort(int ar[][3], double br[], int s) { // 實際寫 3
...
}
C++ 將二維數組第二維度視為類型一部分,int[][3] 和 int[][4] 是完全不同的類型,導致鏈接器找不到匹配的符號。
nm (Linux) / dumpbin /symbols (Windows) 查看目標文件實際導出符號。extern "C" 排除名字修飾干擾(僅限 C 接口)。