问题就处在 GenMethod::generate()上。 GenMethod::generate();只有静态成员函数可以这样调用。如果是普通成员函数,要通过对象来调用。 GenMethod是一个类,不是一个对象。 类是不分配内存的,除非在里面有声明的静态函数或变量,才会在程序的栈中分配内存。 这样写,编译器就以为这是个静态函数,但是一找发现,不是的,就报错了。 应该用这个类定义一个GenMethod的对象***,就会分配内存了,包括你的***.generate()就都可以使用了