C2512 错误 - 即使未初始化类
C2512 Error - Even when not initializing class
我在这里有点迷茫。我的类"CLuaTick"中有一个类型为"CLuaHook"的成员,我计划在CLuaTick::Initialize((函数中使用它。由于链接器,我必须在 cpp 文件中声明我的成员,尽管我不完全确定为什么。将 cpp 中的成员声明设置为 nullptr 会导致运行时崩溃(访问冲突(,即使它尚未在任何地方使用。
CLuaHook 的唯一构造函数是 CLuaHook(const char * Hook);
。
编辑:CLuaHook((必须使用有效参数调用,因为它将在内部列表中注册,之后必须删除。
这是代码:
路易提克·
#pragma once
#include "LuaSrclua.h"
#include "LuaHook.h"
class CLuaTick
{
private:
static CLuaHook m_Hook;
public:
static void Initialize(lua_State *State);
};
路易.cpp
#include "LuaTick.h"
CLuaHook CLuaTick::m_Hook;
void CLuaTick::Initialize(lua_State * State)
{
m_Hook = CLuaHook("Tick");
}
我收到的错误:
错误 C2512 "CLuaHook":没有合适的默认构造函数 luatick.cpp
错误与
编译器描述的非常相似。类CLuaHook
没有默认构造函数。换句话说,编译器不知道如何在没有参数的情况下构造CLuaHook
,因此它也无法构造CLuaTick
。
您需要提供默认构造函数:
CLuaHook() { ... set string to default value here ... }
或者,当您在 cpp 中初始化它时,您需要提供一个默认字符串:
CLuaHook CLuaTick::m_Hook("Default Text");
相关文章:
- 使用默认构造函数引用成员变量初始化错误
- 交换机案例语句中的初始化错误
- 英特尔 MKL 稀疏 QR 求解 C++ 返回未初始化错误
- 在模板类中使用"this"会导致参数初始化错误
- 映射的映射集的映射初始化错误
- C++图形初始化错误(语法或丢失文件缺陷?
- QSQLDATABASE:SIGSEV初始化错误
- 映射的 std::for_each() 给出无效的初始化错误
- 初始化错误过多
- C++初始化错误 std::set
- 简单的类构造函数初始化错误
- 组合框初始化错误:无法读取未定义的属性'constructor'
- OpenCV卡尔曼滤波器初始化错误
- C++11动态数组部分列表初始化(错误或误解)
- C++ 静态变量在发布模式下初始化错误
- Visual Studio 2010 SP1 中的 64 位整数初始化错误
- C++libPNG-简单初始化错误
- 结构数组-初始化错误
- 初始化错误
- 我不断收到函数初始化错误.(运行时检查失败 #3)