注册 登录
编程论坛 C++教室

帮忙找出错误!!!

lxg6682194 发布于 2013-06-01 09:31, 607 次点击
#include<iostream>
#include<string.h>
#include<ctype.h>
using namespace std;
bool  GetWord(char * string,char * word,int & wordoffset);
int main()
{
    const  int buffersize=255;
    char buffer[buffersize+1];
    char word[buffersize+1];
    int wordoffset=0;
    cout<<"Enter a string...\n";
    cin.getline(buffer,buffersize);
    while(GetWord(buffer,word,wordoffset))
    {
        cout<<"Got this word"<<endl;
    }
    return 0;
}
bool  GerWord(char * string,char * word,int & wordoffset)
{
    if(!string[wordoffset])
        return false;

    char *p1,*p2;
    p1=p2=string+wordoffset;

    for(int i=0;i<(int)strlen(p1)&&!isalnum(p1[0]);i++)
    {    p1++;
    }
    if(!isalnum(p1[0]))
        return false;
   p1=p1;
   while(!isalnum(p2[0]))
       p2++;

   int len=int(p2-p1);
   strncpy(word,p1,len);

    word[len]='\0';
    for(int j=int(p2-string);j<(int)strlen(string)&&!isalnum(p2[0]);j++)
    {
    p2++;
    }
    wordoffset=int(p2-string);
    return true;
}

出现了下面的错误:
Compiling...
zi1.cpp
Linking...
zi1.obj : error LNK2001: unresolved external symbol "bool __cdecl GetWord(char *,char *,int &)" (?GetWord@@YA_NPAD0AAH@Z)
Debug/zi1.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

zi1.exe - 1 error(s), 0 warning(s)

求高手指点啊!!!!!
4 回复
#2
yuccn2013-06-01 09:46
bool  GetWord(char * string,char * word,int & wordoffset);
 int main()
 {
     const  int buffersize=255;
     char buffer[buffersize+1];
     char word[buffersize+1];
     int wordoffset=0;
     cout<<"Enter a string...\n";
     cin.getline(buffer,buffersize);
     while(GetWord(buffer,word,wordoffset))
     {
         cout<<"Got this word"<<endl;
     }
     return 0;
 }
 bool  GerWord(char * string,char * word,int & wordoffset)
 {

你注意到红色单词字母不一样吗?细心点
都有错误提示了还找不到
#3
lxg66821942013-06-01 16:39
感谢你的回答,但是具体该如何正确地修改呢,我试着修改成一样的单词,但是还是报错!!!
#4
lxg66821942013-06-01 16:47
这个程序的功能就是随意输入一个英文句子,将其输出,并且将每个单词单独输出来!!
#5
ww2806662013-06-02 15:00
int main()
{
    const  int buffersize=255;
    char buffer[buffersize+1];
    char word[buffersize+1];
    int wordoffset=0;
    cout<<"Enter a string...\n";
      
    cin.getline(buffer,buffersize);  //你这句有问题吧。
1