为什么编译器不接受这个函数?

C++ Why does the compiler not accept this function

本文关键字:函数 编译器 不接受 为什么      更新时间:2023-10-16

这是我的原型:

int WordCount(wstring u, int uLCID);

在cpp文件中:

int WordCount(wstring u, int uLCID);
{
//accept anything for uLCID... meaning we don't process it
int b = 0;
int iCount=0;
for(;;)
{
    int n = u.find(L" ",b);
    if (n>-1)
    {
        iCount++;
    }
    else
    {
        break;
    }
    b=(n+1);
}
return iCount;
}

编译器告诉我

A declaration was expected.

我做错了什么?

因为

int WordCount(wstring u, int uLCID);
{                                  ^
                                   ^
                                   ^

这里有一个额外的分号:

int WordCount(wstring u, int uLCID);
{

当您在函数末尾放置分号;时,您就像上面那样声明了一个原型。当您想要定义时再次这样做将产生您收到的错误。当copy-paste为原型时要小心,以避免将来发生这种情况。