我收到错误:

thing.cpp:5:1: error: ‘SquareThing’ does not name a type
 SquareThing::SquareThing()
 ^
compilation terminated due to -Wfatal-errors.
make: *** [thing.o] Error 1

我的thing.h文件:
#define THING_H_
#ifndef THING_H_
#include <vector>
#include <iostream>
class SquareThing{

public:
        SquareThing();
        //other functions
private:
    int something;
    //more members

};
#endif

任何我的thing.cpp:
#include "thing.h"
#include <vector>
#include <iostream>
using namespace std;
SquareThing::SquareThing()
{
     something = 3;
}
//more functions below

这似乎太基本了,但我似乎找不到错误。任何帮助是极大的赞赏。

最佳答案

这两个语句是向后的:

#define THING_H_
#ifndef THING_H_

您最肯定的意思是:
#ifndef THING_H_
#define THING_H_

按照向后的顺序,您要确保头文件的主体永远不会插入,这并不是非常有用。

09-07 16:15