因为是c,c++混编,需要在类里定义一个static 的sigc::signal 成员,却发现有undefined reference to `Player::sigPlayState'的错误,于前置定义成static的也不行,编译链接都能通过。但却发现回调函数收不到信号。
在类声明外加一个定义即可:
class A
{
static sigc::signal<void,int> sig;
};
sigc::signal<void,int> A::sig;
本文解决了一个C++混编项目中遇到的问题,即如何正确地定义和使用sigc::signal静态成员来确保信号能被正确触发并传递给回调函数。
因为是c,c++混编,需要在类里定义一个static 的sigc::signal 成员,却发现有undefined reference to `Player::sigPlayState'的错误,于前置定义成static的也不行,编译链接都能通过。但却发现回调函数收不到信号。
在类声明外加一个定义即可:
class A
{
static sigc::signal<void,int> sig;
};
sigc::signal<void,int> A::sig;

被折叠的 条评论
为什么被折叠?