【问题标题】:Unknown type name cpp未知类型名称 cpp
【发布时间】:2016-09-16 12:14:03
【问题描述】:

您好,我的程序有问题,Node.hpp 文件一直显示错误“未知类型名称'ToDo'。我真的不知道为什么,我变得很傻!! 有谁知道可能的解决方案? 谢谢:) ToDo 有自己的 hpp 和 cpp 文件,其逻辑与 Node 文件相同。

Node.hpp
---------------------
#ifndef Node_hpp
#define Node_hpp

#include <stdio.h>
#include "ToDo.hpp"

class Node{
public:
    Node *next;
    ToDo *element;
    Node(ToDo *element, Node * next);

};


#endif /* Node_hpp */

 Node.cpp
---------------------
#include "Node.hpp"
#include "ToDo.hpp"


Node::Node(ToDo *element, Node * next):
next(next), element(element)
{}

ToDo.hpp
-------------------------
#ifndef ToDo_hpp
#define ToDo_hpp

#include <iostream>
using namespace std;


enum class Importanza{
   BASSA,MEDIA,ALTA
 };


class  ToDo{

public:
    ToDo(string titolo = "Titolo", string descrizione = "Descrizione",                     Importanza importanza = Importanza::BASSA);
    ToDo(ToDo* e);

string titolo() const; // dichiara che il metodo non modifica l'oggetto!!
void titolo(const string& v);
string descrizione() const;
void descrizione(const string& v);
Importanza importanza() const;
void show(int) ;
ostream& operator <<(ostream& o); //non vuole TODO xkè è implicito


private:
string m_titolo;
string m_descrizione;
Importanza m_importanza;




 };


 #endif /* ToDo_hpp */

【问题讨论】:

  • “ToDo.hpp”是否包含“Node.hpp”?
  • 搜索并阅读关于循环包含
  • 不,“ToDo.hpp”不包含任何标题或任何其他内容
  • @Plates 然后显示“ToDo.hpp”的内容。
  • 抱歉...添加了 ToDo.hpp

标签: c++ header implementation


【解决方案1】:

尝试在 Node.hpp 中添加前向声明,如下所示:

class ToDo;

【讨论】:

  • ... 并同时删除 #include "ToDo.hpp"
猜你喜欢
  • 1970-01-01
  • 2013-04-26
  • 1970-01-01
  • 2014-11-19
  • 2018-10-27
  • 2012-04-03
  • 2017-01-09
  • 2015-01-25
相关资源
最近更新 更多