C2059:语法错误:Qt中的'public'

时间:2015-12-21 22:26:09

标签: c++ qt

我得到了这个让我疯狂的错误。我刚刚使用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

1 个答案:

答案 0 :(得分:3)

问题是Qt Creator添加了signalslots,即使我添加了一个C ++类(而不是Qt类)并且没有从QObject派生它。

解决方案是从课程中删除signalslots个字词,或从QObject#include <QObject>

中获取