【发布时间】:2016-05-29 13:45:38
【问题描述】:
当我尝试编译它时,我收到一条错误消息
unresolved external symbol "void __cdecl showarray(int * const,int)"
不确定我做错了什么?我该怎么办,我的代码是这样的
#include<iostream>
#include<string>
using namespace std;
void sortArray(int [], int );
void showarray(int [],int );
int main(){
int endtime[10] = { 70, 38, 8, 101, 11, 127, 313, 14, 16, 127 };
cout << "unsorted" << endl;
showarray(endtime, 10);
sortArray(endtime, 10);
cout << "the sorted value are :" << endl;
showarray(endtime, 10);
return 0;
}
void sortArray(int array[], int size){
bool swap;
int temp;
do{
swap = false;
for (int count = 0; count < (size - 1); count++){
if (array[count] > array[count+1]){
temp = array[count];
array[count] = array[count + 1];
array[count + 1] = temp;
swap = true;
}
}
} while (swap);
}
void showarray(const float array[], int size){
for (int i = 0; i < size; i++)
cout << array[i] <<" "<< endl;
}
【问题讨论】:
-
每当你遇到这样的错误,并且你知道你已经定义了函数,仔细查看函数定义并将其与声明进行比较,也许复制声明并将其放在上面定义,以便您可以同时查看两者。这样做会立即揭示任何差异。
-
这是我尝试始终在使用函数之前定义函数并避免预先声明的原因之一。单独的声明是代码重复的一种形式,必须与定义保持同步。不要重复自己!
标签: c++ arrays function bubble-sort unresolved-external