Visual Studio 2010中的函子问题

Functor question in Visual Studio 2010

本文关键字:问题 Studio 2010 Visual      更新时间:2023-10-16
#include <iostream>
class myFunctorClass
{
public:
    myFunctorClass(int x) : _x(x) {}
    int oprator() (int y) {return _x + y;}
private:
    int _x;
}
int main(void)
   {
       myFunctorClass addFive(5);
       std::cout << addFive(6);
       std::cin.get();
       return 0;
   }

这是这里的示例代码:http://www.cprogramming.com/tutorial/functors-function-objects-in-c + + . html

但是我得到了错误:

Error   5   error C2065: 'y' : undeclared identifier

Error   2   error C2628: 'myFunctorClass' followed by 'int' is illegal (did you forget a ';'?)  

我现在没有gcc。这应该是在gcc或linux环境下编译吗?如何改变它的工作在Visual Studio?

更新:问题解决了。我把operator拼错了我少了一个分号。

谢谢。

这里至少有两个问题——在c++中,与c#/Java等不同,在类声明之后需要一个分号。另一个问题是您拼错了"operator"。"