为什么编译器不接受这个函数?
C++ Why does the compiler not accept this function
这是我的原型:
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
为原型时要小心,以避免将来发生这种情况。
相关文章:
- 是否有C++编译器选项允许激进地删除所有函数调用,并将参数传递给具有空体的函数
- C++错误C2600:无法定义编译器生成的特殊成员函数(必须首先在类中声明)
- 我需要知道编译器如何在cpp中使用析构函数
- 编译器如何区分std::vector的构造函数
- 使用仅使用一次的变量调用的复制构造函数.这可能是通过调用move构造函数进行编译器优化的情况吗
- 编译器如何在使用SFINAE的函数和标准函数之间确定两者是否可行
- 编译器警告:执行到达值返回函数的末尾而不返回值
- 填充上编译器生成的复制构造函数之间的不一致
- 编译器找不到'aligned_alloc'函数
- 这个C++编译器优化(在自身的实例上调用对象自己的构造函数)的名称是什么,它是如何工作的?
- 为什么编译器将其解析为函数指针而不是递归调用?
- 表达式未评估为常数两个级别的constexpr函数(编译器错误?)
- 从 std::streambif 继承时不兼容析构函数编译器警告
- 在构造函数 - 编译器错误中调用的成员变量的驱动器
- 复制初始化和显式构造函数-编译器的差异
- 静态函数编译器优化C++
- 为什么派生类虚函数可以调用基类虚函数?编译器如何实现
- 复制构造函数 - 编译器错误 C2040 和 C2440
- 带有模板返回类型的虚基函数:编译器在使用pointtype作为模板参数的派生类时失败(MSVC 2013)
- C++中虚拟函数编译器的作用