外部引用初始化
Extern reference initialization
one.cpp
extern PureVirtualBase &instance;
void foo()
{
instance.click();
}
两个.cpp
Derived instance;
我可以初始化其他文件中的引用吗?我用那个代码得到conflicting declaration
。
在cpp文件中:
static Derived instance_object;
PureVirtualBase &instance = instance_object;
这确保了instance
的类型完全匹配,即PureVirtual&
实例的定义和声明的类型应该完全匹配。似乎您需要getInstance((类型的函数来执行您要执行的操作:
Base& getInstance()
{
return instance;
}
相关文章:
- C++在构造函数处用表达式初始化引用
- 我可以从取消引用"new"的返回值初始化引用吗
- 通过用户定义的转换初始化引用
- 为什么我可以在初始化引用后重新绑定引用?
- TBB 编译器错误 -"my_task":必须初始化引用
- Visual Studio 2017 允许在构造函数中使用自身初始化引用成员.真的是合法的C++吗?
- 为构造函数初始化引用实例变量提供默认值
- 在构造过程中获取类成员的未初始化引用是否合法
- 在C++中初始化引用
- 在动态分配的结构中初始化引用
- 使用三元运算符初始化引用变量
- 如何在 c++ 中显式初始化引用
- 初始化引用时何时以及为何获得副本
- 初始化C++引用-为什么不使用运算符的地址
- 在C++中初始化引用和变量
- 在函数参数中分配/初始化引用
- 在 C++ 中初始化引用不起作用,但初始化 const 引用有效,为什么?
- 类组合构造函数 d 必须显式初始化引用成员
- 用对tuple的引用初始化引用的元组
- 为什么在c++中不能重新初始化引用