C++ 官方libsigc++;2.0示例?

C++ 官方libsigc++;2.0示例?,c++,libsigc++,C++,Libsigc++,我在阅读libsigc++-2.0的官方文档时发现: 类AlienDetector { 公众: AlienDetector(); 无效运行(); sigc::检测到的信号; }; void warn_people() { 文件似乎不完整 代码的最基本版本应如下所示: AlienDetector::AlienDetector() {} void AlienDetector::run() { sleep(3); // wait for aliens signal_detected.

我在阅读libsigc++-2.0的官方文档时发现:

类AlienDetector
{
公众:
AlienDetector();
无效运行();
sigc::检测到的信号;
};
void warn_people()
{

文件似乎不完整

代码的最基本版本应如下所示:

AlienDetector::AlienDetector() {}

void AlienDetector::run() {
    sleep(3); // wait for aliens
    signal_detected.emit(); // panic
}

我发布了一个基于make的全功能示例,example1.cpp是第一个示例,example2.cpp是一个使用成员函数的示例。

更准确地说,文档的特定页面是正确的,并按预期显示,但缺少一个关键链接。我将在查看其中的内容后找到缺少的内容。列出的代码问题中的一个块在文档中表示为两个块:

这是我的班级:

<first code block, which
declares AlienDetector>
等等——“example1.cc”?那是什么?你可能会注意到页面没有说明如何创建
example1.cc
。虽然假设应该将代码从页面复制到这个文件中有些自然,但这并不是我们想要的。作者原本打算将
example1.cc
作为一个预先制作的文件(缺少函数实现)将随文本一起出现。不知怎的,这个文件,以及教程后面提到的其他文件,从未进入发布的产品中

这一遗漏已经被知道了一段时间(见一些),但并没有引起正确的注意来修复它。(教程在我链接到的电子邮件几个月后更新,但显然没有添加缺少的示例文件。)在链接的电子邮件中,作者提供了一个链接来获取丢失的文件,但在此后的十多年中,该链接已过期


幸运的是,Petesh在这里的旧答案中为一些示例文件提供了一个寿命更长的源代码(对我来说,我只是过于详细和精确。太糟糕了,我在试图找出这个问题可以记录在哪里以便解决,或者至少跟踪它时迷失了方向。)

示例代码包含。但该示例看起来确实不完整。@Petesh那么,为什么它建议编译和运行该代码时要知道它不完整的事实呢?粗略猜测,文档是不完整的。您可以自由地记录一个关于它的问题,以便解决它。您是否可以发布一个涉及2个不同版本的更完整的示例用信号和插槽连接在一起的t类?你是想使用gtkmm吗?还是想了解这个库?我想了解libsigc++是如何工作的以及如何使用它。我在github上放了一些例子,说明它对于普通的旧函数和成员函数的基本用途
<first code block, which
declares AlienDetector>
<second code block, which
defines warn_people() and
main()>
g++ example1.cc -o example1 `pkg-config --cflags --libs sigc++-2.0`