我遇到了这个让我抓狂的错误。我刚刚使用 Qt Creator 添加了一个类,但它无法构建。
#ifndef LIBRARY_H
#define LIBRARY_H
class Library
{
public:
Library();
signals:
public slots:
};
#endif // LIBRARY_H
错误是:
library.h:12: error: C2059: syntax error : 'public'
library.h:12: error: C2334: unexpected token(s) preceding ':'; skipping apparent function body
library.h:13: error: C2760: syntax error : expected '{' not '}'
library.h:13: error: C2143: syntax error : missing '}' before ';'
library.cpp:4: error: C2535: 'Library::Library(void)' : member function already defined or declared
library.cpp:8: error: C1004: unexpected end-of-file found
最佳答案
问题是添加了 Qt Creator signal
和 slots
即使我添加了一个 C++ 类(而不是 Qt 类)并且没有从 QObject
派生它.
解决方案是删除signal
和 slots
来自类的单词或从 QObject
派生它和 #include <QObject>
关于c++ - C2059 : syntax error : 'public' in Qt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34405388/