c++ - C++“未知类型名称”和“使用未声明的标识符”错误
问题描述
我正在为一个学校项目编写一个模拟共享编辑器(如 Google Docs)的小程序
我已经编写了我需要的所有类,但是当我尝试构建程序时,我得到了这个错误:
error: unknown type name 'NetworkServer'
NetworkServer &_server;
error: use of undeclared identifier 'SharedEditor' std::vector<SharedEditor*> SEditors;
error: expected expression std::vector<SharedEditor*> SEditors;
error: unknown type name 'SharedEditor' int connect(SharedEditor* sharedEditor);
这是我的 .h 文件
网络服务器.h
#include <vector>
#include <queue>
#include "SharedEditor.h"
#include "Message.h"
class NetworkServer {
private:
std::vector<SharedEditor*> SEditors;
std::vector<int> idEditors;
std::queue<Message> messages;
public:
int connect(SharedEditor* sharedEditor);
int disconnect(SharedEditor* sharedEditor);
void send(const Message& m);
void dispatchMessages();
};
共享编辑器.h
#include "NetworkServer.h"
#include "Message.h"
#include "Symbol.h"
class SharedEditor {
private:
NetworkServer& _server;
int _siteId{};
std::vector<Symbol> _symbols;
int _counter;
public:
SharedEditor() = delete;
SharedEditor(NetworkServer& server);
void localInsert(int index, char value);
void localErase(int index);
void process(const Message& m);
std::string to_string();
int getSiteId() const;
};
符号.h
#include <vector>
class Symbol {
private:
char value;
int idClient;
int num;
std::vector<int> pos;
public:
Symbol(char value, int client, int num, std::vector<int> pos);
char getValue() const;
int getIdClient() const;
int getNum() const;
const std::vector<int> &getPos() const;
};
消息.h
#include <vector>
class Message {
bool insert; // true --> insert || false --> delete
int _siteId;
int num;
char value{};
std::vector<int> pos;
public:
Message(bool insert, int siteId, int num, char value, std::vector<int> pos);
Message(bool insert, int siteId, int num);
bool isInsert() const;
int getSiteId() const;
int getNum() const;
char getValue() const;
const std::vector<int> &getPos() const;
};
我不明白我在哪里做错了。顺便说一句,我正在使用 CLion
解决方案
推荐阅读
- symfony - EasyAdmin 将用户显示为“未命名”,即使已登录
- docker - 如何在 docker 模块的 ansible 中修复“获取服务器 API 版本时出错”
- reactjs - 重定向到反应js中的外部url时如何在标头中发送令牌?
- apache-spark - 如何将火花流应用程序的输出写入单个文件
- html - CSS 缩放和变换使文本模糊
- javascript - 根据到达日期和程序持续时间计算出发日期
- php - Wordpress/WoOCommerce 更改了 search-slug:想要搜索/显示特定自定义类型的结果
- flyway - 如何在flyway中编辑现有的sql文件
- javascript - 如何在 React 的组件范围之外使用 React 的上下文 API:ReactJS
- node.js - 使用支持中间件的 rxjs 易于遵循 redux 核心?