c++头文件说变量是未定义的:
C++ Header files says the variable is undefined:
我有这样一个类:
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;
}
相关文章:
- 尝试调用 .h 文件中定义的变量时出现变量未定义错误
- QT C++中对全局变量的未定义引用
- C++ 如何检查 char 变量是否未定义(未初始化)
- 我可以定义一个 constexpr 匿名/未命名变量吗?
- 是否未定义将对函数范围变量的引用作为值返回
- 双循环变量的相等条件:未指定还是未定义
- 为什么 mfc 中静态文本工具中的变量未定义
- 未定义的行为错误:对成员变量的更改仅在某些上下文中可见
- 获取作为类变量的 Deque 大小时未定义的行为
- 标头中的成员变量未定义
- 使用静态变量未解析的外部符号/未定义的引用时出错
- 对成员函数和变量的未定义引用
- 从文件行读取未定义数量的变量
- C++类方法包含对静态变量的未定义引用
- C++ - 对"类::变量"的未定义引用
- 未定义的引用指针的变量模板在clang中功能,而不是GCC
- C++动态变量和未定义内存之间的差异
- 未定义对静态变量的引用,没有类
- 这是未初始化的变量使用未定义的行为吗
- 结构数组的未定义 c++ 变量