c++ - 我如何声明 Qt 信号以便 Resharper 不给我警告?

标签 c++ qt resharper-c++

如果我有一个声明 Qt 信号的类:

class Test
{
signals:
    void TestSignal();
}

这在 Qt 中运行良好。但是 Resharper C++ 给了我警告:

Function 'void Test::TestSignal()' is not implemented

这是正确的但毫无意义,因为 Qt 不希望实现该功能。有什么方法可以实现这个信号,这样 Resharper 就不会提示吗?

我试过:

class Test
{
signals:
    void TestSignal() = {};
}

但是得到构建错误:

error : Not a signal declaration

最佳答案

正如 AcerExtensa 所解释的,MOC 工具生成 Qt 信号的实现。要消除警告,您可以将生成的源文件包含到您的解决方案中,这样 ReSharper 就会在您的 header 中看到信号的实现。你是对的,虽然这个警告是无用的,我已经提交了https://youtrack.jetbrains.com/issue/RSCPP-20044使 Qt 信号的“功能未实现”检查静音。

关于c++ - 我如何声明 Qt 信号以便 Resharper 不给我警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45656486/

相关文章:

c++ - 在Linux上从char缓冲区写入二进制文件

c++ - 是否可以将输入用作对字符串的调用?

qt - 在 qml 中使用 C++ 枚举

c++ - QGraphicsView 是否拥有其关联图形场景的所有权?

c - Resharper C++ 强制执行 C99

c++ - 如何在 DirectX 11.1 中部分更新常量缓冲区

c++ - 通过循环c++将单个字符与字符串中的字符进行比较的问题

c++ - 调用 exit() quit() 或 terminate() 后 Qt 线程执行不会停止

c++ - Resharper C++ Lambda 大括号缩进