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

Qt Creator / C++ - Bug that prevents use of pointers and auto-completion

本文关键字:错误 指针 Creator C++- Qt      更新时间:2023-10-16

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

第21行:InkPuppet *pointerToPuppet;错误:x:developmentinkpuppetnewdialog.h:21: error: C2143: syntax error : missing ';' before '*'x:developmentinkpuppetnewdialog.h:21: error: C4430: missing type specifier - int assumed. Note: C++ does not support default-int

这是我的.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

这是我默认的页眉墨水木偶.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

新对话框.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
  1. 将"InkPuppet*pointerToPuppet;"替换为"Ui::InkPumpet*pointer ToPuppe;"将解决编译问题
  2. 重新安装您的SDK可以解决自动完成问题。Qt创建者自动完成代码问题