错误代码LNK2019& LNK1120

时间:2015-08-13 20:33:40

标签: c++

我一遍又一遍地创建这个文件,似乎无法理解为什么我会收到此错误。我试着去代码所在的行,但格式似乎正确我可能只需要另一组眼睛。

#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

2 个答案:

答案 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
}