2015-08-13 79 views
-1

我一遍又一遍地创建这个文件,似乎无法看到为什么我得到这个错误。我试图去代码的行,但格式似乎正确我可能只需要另一组眼睛。错误代码LNK2019&LNK1120

#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)" ([email protected]@[email protected]) referenced in function _main 

fatal error LNK1120: 1 unresolved externals 
+3

附近我可以告诉你,你声明和使用,但从来没有实现的readString函数。 – user4581301

+0

@Niall我应该只是收藏这个吸盘。用googz找不到它。 – user4581301

回答

2

您可以使用预先声明:void readString(char*, int);但当时从来没有真正定义这个功能。

后来定义您readString功能在你的代码一样......

void readString(char* str, int a) 
{ 
    // do stuff 
} 
2

你缺少readString功能。你必须满足这里的编译器

void readString(char*, int); 

但是,没有实际执行的功能,以满足连接器时,它试图把你的程序一起向前声明。你需要的东西沿线

void readString(char* characterArray, int arraySize) 
{ 
    // do stuff here 
} 
+0

哈哈哈我们的答案几乎相同 – bpgeck

+0

@bpgeck毫不奇怪。只有很多方法来解决这个问题,而不知道readString里面应该是什么。 – user4581301