静态结构成员获取"未定义的引用"。不知道为什么
static struct member gets “undefined reference”. Don't know why
我想创建一个从许多其他类和模拟结束时收集信息的类。为此,它必须独立于所有其他类,并且完全可访问。为此,我选择了一种静态方法,实际上是一种静态结构。
这是我的Foo.h
class Foo
{
public:
static int app_counter;
typedef struct
{
double eed;
int bits;
}APPLayer;
static APPLayer applayer_metric;
public:
Foo(){};
~Foo();
};
这是Foo.cpp
#include "Foo.h"
int Foo::app_counter=0;
//How do I set all internal members to zero?
Foo::APPLayer applayer_metric;
Foo::~Foo()
{
std::cout << app_counter << std::endl;
//Which is the way to access to the values of my members?
std::cout << applayer_metric.bits << std::endl;
}
这就是我在Foo中遇到的错误。CPP-
Foo.cc:38:对`Foo::applier_metric'的未定义引用
例如,如果我将Foo.cpp中的行更改为这个
std::cout<lt;Foo::applier_metric.bits<lt;std::endl;
我也犯了同样的错误。
我的问题是:
- 如何将静态结构变量的所有成员初始化为零
- 如何在Foo.cpp的其他功能中访问这些成员
仅供参考,如果我初始化并访问变量"app_counter",没有任何抱怨
我做错了什么?
提前谢谢。
Foo::applayer_metric
的定义缺少范围解析运算符。更改为:
Foo::APPLayer Foo::applayer_metric;
相关文章:
- 努力将整数转换为链表。不知道我在这里做错了什么
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 叮当不知道PTRDIFF_MAX?
- 如何在不知道向量大小的情况下输入向量内部的向量?
- 我正在尝试使用 c++ 创建一个货币转换程序,我不知道如何继续
- 不知道某个东西是否被忽略会引入未定义的行为吗
- 如何在C++中读取空格分隔的输入 当我们不知道输入的数量时
- 我不知道这条线是做什么的
- 关于类的 Python 文档 - 对C++的引用不正确
- 如何在不知道C++中有多少可选参数的情况下在循环中使用va_arg?
- 在不知道套接字的情况下关闭网络连接
- 引用不完整的类类型 - C++
- 当我使用按引用返回时,我不知道这些代码之间的区别
- 不知道为什么对象是本地的还是引用的
- 我不知道如何在循环(C++)之外引用变量
- 如何在不知道特定类型的情况下引用变量
- c++在不知道其参数的情况下保留对模板实例的引用
- C++错误:必须调用对非静态成员函数的引用,请帮忙,不知道字面上出了什么问题
- 静态结构成员获取"未定义的引用"。不知道为什么