c++头文件说变量是未定义的:

C++ Header files says the variable is undefined:

本文关键字:未定义 变量 文件 c++      更新时间:2023-10-16

我有这样一个类:

class A 
{
 public :
   int Echo (int param)
   {
      int num = param + 5;
      return num;
   }
}

然后在header。h中输入如下定义:

#ifndef A_H
#define A_H
  class A 
{
 public :
   int Echo (int param1)
   {
          return num;
    }
#endif

我有这些问题:

1-类应该如何在Header.h中定义?它们的定义应该完全像它们原来的*.cpp文件一样,还是它们的签名就足够了?

2-头文件中的定义应该和函数的返回语句一起吗?像这样:

int Echo(int param)
{
   return num;
}

我问过类似的问题,但有不同的问题,在StackOverflow中编辑导致完全不同问题陈述的问题是不可接受的。

你的头文件应该像这样:

//something.h
#ifndef A_H
#define A_H
class A{
 public :
   int Echo (int param1);
};
#endif

这叫做创建函数原型。将函数的实际主体放在.cpp文件中:

//something.cpp
#include "main.h"
int A::Echo (int param)
{
   int num = param + 5;
   return num;
}
从你的主文件

,包括头文件,它应该工作。将.cpp文件交给编译器(如果您使用的是IDE,它会为您完成)示例主文件:

#include <iostream>
#include "main.h"
using namespace std;
int main()
{
   cout << "Hello World" << endl; 
   A a;
   cout << a.Echo(10) << endl;
   return 0;
}