使用Qt标头的递归包含时出错

时间:2018-12-29 06:31:32

标签: c++ qt qt-creator

我有一个大项目,其中出现了极其难以理解的错误,此后我创建了一个重复的新项目:

项目的结构很简单:

  

main.cpp
      first.h
      second.h

first.h

soup = BeautifulSoup(page.content, 'html.parser')
# in place of page.content use page.text
soup = BeautifulSoup(page.text, 'html.parser')

second.h

#ifndef FIRST_H
#define FIRST_H

#include "second.h"

class first
{
public:
    first();
};

#endif // FIRST_H

一切都很合乎逻辑,但是Qt Creator的看法却截然不同:

#ifndef SECOND_H
#define SECOND_H

#include "first.h"

class second
{
public:
    second();
};

#endif // SECOND_H

对于继承来说,我有点茫然了。

1 个答案:

答案 0 :(得分:0)

  

MinGW编译器的问题解决:

//first.h
#ifndef FIRST_H
#define FIRST_H

class second;
class first
{
public:
    first();
};

#endif // FIRST_H

//second.h
#ifndef SECOND_H
#define SECOND_H

class first;
class second
{
public:
    second();
};

#endif // SECOND_H
  

第二种解决方案是将MSVC编译器用于qt,它将猜测需要做什么   自行完成并正确编译所有示例。