弱弱地问一个不能识别自定义的有关问题

弱弱地问一个不能识别自定义的问题
自定义类:MyTabWidget,这个类是放在MainWidet的中心的
文件基本为:
//mytabwidget.h
#ifndef IPADTABWIDGET_H
#define IPADTABWIDGET_H

#include <QWidget>
#include <mainwindow.h>
#include <QTableWidget>
class MyTabWidget : public QTabWidget
{
  Q_OBJECT
   
public:
  explicit MyTabWidget(QWidget *parent = 0);
  ~MyTabWidget();
  ...
}

//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <mytabwidget.h>//添加自定义的类头文件
#include <QTabWidget>
...

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
  Q_OBJECT
   
public:
  explicit MainWindow(QWidget *parent = 0);
  ~MainWindow();

private:
  MyTabWidget *fileTab;//编译错误的地方
  Ui::MainWindow *ui;
...
};

可是编译结果却是:
mainwindow.h(62) : error C2143: 语法错误 : 缺少“;”(在“*”的前面)
mainwindow.h(62) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
mainwindow.h(62) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

求解这个是为什么?