main.cpp:16:77: error: 'onReadyRead' is a private member of 'Qt_Rtsp_Vidio' qt_rtsp_vidio.h:30:10: note: declared private here
时间: 2024-02-07 10:02:53 浏览: 28
这个错误提示是因为在 `main.cpp` 文件中,你试图访问 `Qt_Rtsp_Vidio` 类的私有成员函数 `onReadyRead`。由于该函数被声明为私有函数,只有在类的内部才可以访问,而在类的外部,包括 `main.cpp` 文件中,都不能直接访问私有成员函数。
要解决这个问题,你可以将 `onReadyRead` 函数的访问权限改为公有(即将其声明为 `public`),或者创建一个公有的成员函数来访问它。另外,如果你不需要在 `main.cpp` 中访问 `onReadyRead` 函数,那么可以考虑通过调用公有的成员函数来触发它的执行,而不是直接调用它。
相关问题
main.cpp:20:8: error: 'm_player' is a private member of 'Qt_Rtsp_Vidio' qt_rtsp_vidio.h:24:19: note: declared private here
根据错误信息,你在`main.cpp`文件的第20行调用了`m_player`,但是它是一个`Qt_Rtsp_Vidio`类的私有成员,不能被外部访问。你需要在`Qt_Rtsp_Vidio`类的定义中将`m_player`声明为公有成员,或者提供一个公有的接口函数来访问它。例如:
```cpp
class Qt_Rtsp_Vidio {
public:
// 公有成员函数
void play();
private:
// 私有成员变量
Player* m_player;
};
// 在类定义外部实现公有成员函数
void Qt_Rtsp_Vidio::play() {
m_player->play();
}
```
这样就可以通过调用`play()`函数来访问`m_player`了。
main.cpp:19:8: error: 'm_reply' is a private member of 'Qt_Rtsp_Vidio' qt_rtsp_vidio.h:26:20: note: declared private here
这个错误提示是因为在 `main.cpp` 文件中,你在访问 `Qt_Rtsp_Vidio` 类的私有成员变量 `m_reply`,而这个成员变量在 `Qt_Rtsp_Vidio` 类中被声明为私有变量,不能被外部访问。因此,编译器报错。
要解决这个问题,你可以将 `m_reply` 成员变量的访问权限改为公有(即将其声明为 `public`),或者创建一个公有的成员函数来访问它。另外,如果你不需要在 `main.cpp` 中访问 `m_reply` 成员变量,那么可以考虑通过调用公有的成员函数来获取它的值,而不是直接访问它。