将对象/数据从库传递到控制台应用程序(如何)
Passing objects/datas from library to console app (how to)
我想在c++中创建一个类似事件处理的系统。我试着创造这样的东西;
###Library
class manager
{
public:
void init(void i) { x = i };
void fire()
{
x("test");
}
private:
void x;
};
(空间)
###Console App
void tester(char* i)
{
printf("%c", i);
}
int main()
{
manager m;
m.init(tester);
m.fire();
return 0;
}
是的,我现在完全错了,但我需要这样的东西。我是个新手,我不明白为什么我不能做出那样的东西。
您似乎在寻找函数指针。类似这样的东西:
typedef void (*EventFunc)(char*);
class manager
{
public:
void init(EventFunc callback) { x = callback };
void fire()
{
x("test");
}
private:
EventFunc x;
};
代码的其余部分应该保持不变(除了printf("%c", i);
应该是printf("%s", i);
)。
相关文章:
- C++控制台应用程序阻止退出
- 如何在 Win32 C++控制台应用程序中调用 UWP 类库
- 是否可以从控制台应用程序使用 C++/WinRT 创建窗口?
- 如何创建一个使用开源c项目的c++控制台应用程序
- c ++控制台应用程序,如何在控制台外部打印字符
- 将控制台应用程序直接输出到Visual Studio而不是外部Windows控制台中
- 如何在 Win32 控制台应用程序中注册不可见的窗口类?
- 如何将从控制台应用程序C++回调设置为C++ COM DLL
- 使用代码在 AWS 开发工具包C++控制台应用程序上设置凭证
- 直接输入控制台应用程序
- C++调试控制台应用程序
- C++控制台应用程序调用C++/CLI静态库
- 如何在控制台应用程序中添加滚动功能以显示更大的输入
- 如何在将Visual Studio C++控制台应用程序连接到Microsoft SQL Server时修复"
- 如何读取windows服务启动的控制台应用程序的输出
- VS2017 中缺少 Win32 控制台应用程序.如何创建C++空项目?
- 将 Visual C++ 6 控制台应用程序作为 Windows 服务运行
- 如何将控制台应用程序放入系统托盘通知C++?
- 如何向控制台应用程序添加图标
- 如何在 Linux/Apache 虚拟主机上运行 win32 控制台应用程序?