我一遍又一遍地创建这个文件,似乎无法理解为什么我会收到此错误。我试着去代码所在的行,但格式似乎正确我可能只需要另一组眼睛。
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
void readString(char*, int);
void changeToUppercase(char*, int);
void displayStringInUppercase(char*, int);
int main()
{
int arraySize;
char* characterArray;
cout << "Enter the size of dynamic array: ";
cin >> arraySize;
characterArray = new char[arraySize];
readString(characterArray, arraySize);
changeToUppercase(characterArray, arraySize);
displayStringInUppercase(characterArray, arraySize);
delete [] characterArray;
system ("pause");
return 0;
}
void changeToUppercase(char* characterArray, int arraySize)
{
for(int i = 0; i < arraySize; i++)
characterArray[i] = toupper(characterArray[i]);
}
void displayStringInUppercase(char* characterArray, int arraySize)
{
cout << "\nThestring inupper case letters: ";
for(int i = 0; i < arraySize; i++)
characterArray[i] = toupper(characterArray[i]);
}
这是不断弹出的错误代码:
error LNK2019: unresolved external symbol "void __cdecl readString(char *,int)" (?readString@@YAXPADH@Z) referenced in function _main
fatal error LNK1120: 1 unresolved externals
答案 0 :(得分:2)
您使用前向声明:void readString(char*, int);
但从未实际定义此函数。
稍后在代码中定义readString
函数,例如......
void readString(char* str, int a)
{
// do stuff
}
答案 1 :(得分:2)
您缺少readString函数。你有一个满足编译器的前向声明
void readString(char*, int);
但是在尝试将程序放在一起时,没有实际的函数实现来满足链接器。
需要一些东西void readString(char* characterArray, int arraySize)
{
// do stuff here
}