C++ 类函数已定义但不被调用(C+;+;)
我想从类“hello”调用一个公共函数,但是这个错误不允许我调用。请告诉我我做错了什么 代码如下:C++ 类函数已定义但不被调用(C+;+;),c++,function,class,C++,Function,Class,我想从类“hello”调用一个公共函数,但是这个错误不允许我调用。请告诉我我做错了什么 代码如下: #包括 使用std::cout; 使用std::cin; 使用std::string; 同学们好{ 公众: void sayit(){ cout-str; 如果(str==“开始”){ //这就是错误发生的地方。 你好,说吧; } } 这就是错误: [错误]在“.”标记之前应为非限定id void sayit()定义类成员函数 要调用类成员函数,需要该类的实例 hello hello_insta
#包括
使用std::cout;
使用std::cin;
使用std::string;
同学们好{
公众:
void sayit(){
cout-str;
如果(str==“开始”){
//这就是错误发生的地方。
你好,说吧;
}
}
这就是错误:
[错误]在“.”标记之前应为非限定id
void sayit()
定义类成员函数
要调用类成员函数,需要该类的实例
hello hello_instance;
hello_instance.sayit();
或者,您可以将sayit
更改为静态函数。静态函数是该类的成员,但不需要该类的实例。因此,静态
方法中不存在此
变量,并且不能使用非静态成员变量
static void sayit(){
cout << "Hello, World!";
}
您需要使
sayIt()
static
或声明一个hello
对象,然后调用方法
。静态方法看起来像static void sayIt()
,您可以像hello.sayIt()那样调用它
作为静态方法,不需要类的实例来工作。如果使用hello
对象,它将像这样执行hello x;x.sayIt()
您需要使sayIt()或静态或声明hello对象,然后调用MethodRecommendation添加如何调用静态函数的演示,因为它与询问者尝试的有点不同。@user4581301我将此添加到我的答案中。
static void sayit(){
cout << "Hello, World!";
}
hello::sayit();