我收到错误:
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_
按照向后的顺序,您要确保头文件的主体永远不会插入,这并不是非常有用。