Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt-Creator/C++;-阻止使用指针和自动完成的错误_C++_Qt - Fatal编程技术网

C++ Qt-Creator/C++;-阻止使用指针和自动完成的错误

C++ Qt-Creator/C++;-阻止使用指针和自动完成的错误,c++,qt,C++,Qt,我和QT Creator有一个非常严重的问题。我不能再使用指向其他类的指针,自动补全在我的主类中不起作用。感觉好像有些东西已经损坏了,但是我所有的代码都使用了一些现有的指针,然后所有的指针都没有工作并出错 第21行:InkPuppet*PointerToppet错误:x:\development\inkpuppet\newdialog.h:21:错误:C2143:语法错误:缺少“;”在“*”之前和x:\development\inkpuppet\newdialog.h:21:错误:C4430:缺

我和QT Creator有一个非常严重的问题。我不能再使用指向其他类的指针,自动补全在我的主类中不起作用。感觉好像有些东西已经损坏了,但是我所有的代码都使用了一些现有的指针,然后所有的指针都没有工作并出错

第21行:
InkPuppet*PointerToppet错误:
x:\development\inkpuppet\newdialog.h:21:错误:C2143:语法错误:缺少“;”在“*”之前
x:\development\inkpuppet\newdialog.h:21:错误:C4430:缺少类型说明符-假定为int。注意:C++不支持默认INT/COD>< /P>
这是我的.pro文件:

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = InkPuppet
TEMPLATE = app


SOURCES += main.cpp\
        inkpuppet.cpp \
    aboutdialog.cpp \
    inkspot.cpp \
    newdialog.cpp

HEADERS  += inkpuppet.h \
    aboutdialog.h \
    inkspot.h \
    newdialog.h

FORMS    += inkpuppet.ui \
    aboutdialog.ui \
    newdialog.ui

OTHER_FILES += \
    InkPuppet.pro.user

RESOURCES += \
    resources.qrc
这是我的默认标题inkpuppet.h

#ifndef INKPUPPET_H
#define INKPUPPET_H

#include "inkspot.h"
#include "ui_inkpuppet.h"

#include <QMainWindow>
#include <QWidget>

namespace Ui {
class InkPuppet;
}

class InkPuppet : public QMainWindow
{
    Q_OBJECT

public:
    explicit InkPuppet(QWidget *parent = 0);
    ~InkPuppet();

    Ui::InkPuppet *ui;

private slots:
    void setMinimum(int value);
    void setMaximum(int value);
    void actionNew();
    void actionAbout();
    void testButton();
};

#endif // INKPUPPET_H
#ifndef NEWDIALOG_H
#define NEWDIALOG_H

#include "inkspot.h"
#include "inkpuppet.h"
#include "ui_inkpuppet.h"

#include <QDialog>

namespace Ui {
class NewDialog;
}

class NewDialog : public QDialog
{
    Q_OBJECT

public:
    explicit NewDialog(QWidget *parent = 0);
    ~NewDialog();
    InkPuppet *pointerToPuppet;

private:
    Ui::NewDialog *ui;

private slots:
    void createNew();

};

#endif // NEWDIALOG_H
\ifndef INKPUPPET\u H
#定义INKPUPPET_H
#包括“inkspot.h”
#包括“ui_inkpuppet.h”
#包括
#包括
名称空间用户界面{
木偶类;
}
类InkPuppet:公共QMainWindow
{
Q_对象
公众:
显式InkPuppet(QWidget*parent=0);
~InkPuppet();
Ui::InkPuppet*Ui;
专用插槽:
无效设置最小值(int值);
无效设置最大值(int值);
void actionNew();
关于()的无效操作;
void testButton();
};
#endif//INKPUPPET_H
newdialog.h

#ifndef INKPUPPET_H
#define INKPUPPET_H

#include "inkspot.h"
#include "ui_inkpuppet.h"

#include <QMainWindow>
#include <QWidget>

namespace Ui {
class InkPuppet;
}

class InkPuppet : public QMainWindow
{
    Q_OBJECT

public:
    explicit InkPuppet(QWidget *parent = 0);
    ~InkPuppet();

    Ui::InkPuppet *ui;

private slots:
    void setMinimum(int value);
    void setMaximum(int value);
    void actionNew();
    void actionAbout();
    void testButton();
};

#endif // INKPUPPET_H
#ifndef NEWDIALOG_H
#define NEWDIALOG_H

#include "inkspot.h"
#include "inkpuppet.h"
#include "ui_inkpuppet.h"

#include <QDialog>

namespace Ui {
class NewDialog;
}

class NewDialog : public QDialog
{
    Q_OBJECT

public:
    explicit NewDialog(QWidget *parent = 0);
    ~NewDialog();
    InkPuppet *pointerToPuppet;

private:
    Ui::NewDialog *ui;

private slots:
    void createNew();

};

#endif // NEWDIALOG_H
\ifndef NEWDIALOG\u H
#定义新对话框
#包括“inkspot.h”
#包括“inkpuppet.h”
#包括“ui_inkpuppet.h”
#包括
名称空间用户界面{
类NewDialog;
}
新建类对话框:公共QDialog
{
Q_对象
公众:
显式NewDialog(QWidget*parent=0);
~NewDialog();
InkPuppet*PointerToppet;
私人:
Ui::NewDialog*Ui;
专用插槽:
void createNew();
};
#endif//NEWDIALOG\u H
  • 用“Ui::InkPuppet*pointerToPuppet;”替换“InkPuppet*pointerToPuppet;”将解决编译问题
  • 重新安装SDK可能会解决自动完成问题
    此文件中未出现此错误。它位于
    newdialog.h
    中。您是否在该文件中包含了
    inkpuppet.h
    ?我是这样做的,注释出来没有什么区别。我已经用newdialog.h代码编辑了主要帖子。将“InkPuppet*PointerTopupet;”替换为“Ui::InkPuppet*PointerTopupet;”是否有可能
    inkspot.h
    定义
    InkPuppet\u h
    宏?那么包括警卫有问题吗?或者你有一个循环包含问题,因为inkspot包含了newdialog?olive——这似乎已经奏效,但仍然没有意义。我从来都不需要这么做,为什么我突然需要这么做?自动完成在一个文件中不起作用是什么?除了一个文件外,我在所有文件中都有自动完成功能。重新安装不会有帮助。由于已经说明的原因,Ui::InkPuppet vs InkPuppet是无效的解决方案