函数在类中声明时应该有一个原型

Function should have a prototype while declaring in class

本文关键字:有一个 原型 声明 函数      更新时间:2023-10-16

我有一个字符串要通过函数打印。我正在使用涡轮增压编译器。

在使用过程方法时,我可以通过以下代码做到这一点:

#include <iostream.h>
#include <conio.h>
void strr(char name[]);
void main(){
   char name1[10];
   cout << "Enter name";
   cin >> name1;
   strr(name1);
   getch();
}
void strr(char name[]){
   cout << name;
}

但是使用 oop 方法我无法打印字符串。我的代码是:

#include <iostream.h>
#include <conio.h>
class name{
   public: void strr(char name[]);
};
void main(){
   char name1[10];
   cout << "Enter name";
   cin >> name1;
   strr(name1);
   getch();
}
void name::strr(char name[]){
   cout << name;
}

使用oop方法,我收到错误Function 'strr' hould have a prototype

由于你的函数是在类内部定义的,你需要一个name类的对象/实例来调用它:

name obj;
cin >> name1;
obj.strr(name1);

或者,如果您将函数声明为静态,则可以在没有类实例的情况下调用它,因为该函数是一个类函数

class name{
   public: static void strr(char name[]) {cout << name << endl;}
};
...
cin >> name1
name::strr(name1);

试试这个名称 :: 无效 strr(字符名称[]({}

相关文章: