在类之外定义静态函数并访问静态值.h和.cc文件
define static function outside the class and access static value .h and .cc files
//foo.h
class Foo
{
private:
static int number;
public:
static int bar();
};
//foo.cc
#include "foo.h"
int Foo::bar()
{
return Foo::number;
}
这是不工作。我想在类定义之外定义一个静态函数并访问一个静态值。
undefined reference to `Foo::number'
您刚刚声明了静态成员,您还需要定义它。将此添加到您的cpp文件中。
int Foo::number = 0;
这应该是一个很好的阅读:
定义和声明的区别是什么?
你必须定义Foo::number
:
// foo.cc
...
int Foo::number(0);
您已经声明了Foo::number,您必须添加一个定义。在您的cpp文件中添加以下行
int Foo::number = 0;
相关文章:
- 使用gcc从静态链接的文件中查找可选符号
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 停止cmake target_link_libraries将插件中静态库的两个对象文件链接到静态库本身
- Android 在编译二进制文件时重建静态库
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 我可以读取静态对象中的文件.txt吗?C++
- 复制文件流C++静态变量
- 调用在 HXX 文件中声明的静态数据成员
- 链接时,不同静态库中的同一对象文件
- 如何在 linux 可执行文件中使用静态库
- 内联函数的函数本地静态对象是否在共享对象文件之间共享?
- 如果包含映射的静态库与可执行文件和动态库链接,静态映射(变量)是否会被多次释放?
- 在链接可执行文件之前查找静态库未解析的依赖项
- LNK2019 在文件中调用静态成员的方法时出错.cpp
- 访问从 CPP 文件到其他头文件的静态变量
- 无法将静态二进制文件链接到 #include
- 如何将 cpp 文件中的静态函数公开给其他文件
- 从 .so/.o 文件中获取 C/cpp 中的静态库列表
- 在C++中,关闭类成员函数内的静态文件流
- 将互斥对象声明为静态文件范围的变量是否安全