编译器没有找到Stack.h文件,有3个办法可以解决
1. 将Stack.h文件和你的主文件放在同一个文件夹里
2. 在 include 时指明 Stack.h 的相对路径。 比如你的Stack.h在上层目录的include文件夹下,那就写 #include "../include/Stack.h"
3. 在编译选项里面加上 Stack.h 文件的路径 -I ../include
另外,你的Stack.h文件少了一个define定义 。正确的格式是:
#ifndef _Stack_h
#define _Stack_h
...
... //这里是你的头文件实际代码
...
#endif
这样写才能保证你的Stack.h不会被重复包含。
使用的是 "<>" 尖括号的话,
表示让编译器在系统头文件夹中查找对应名字的头文件,
当使用""""引号时,就是让编译器在当前程序目录下查找对应名字的头文件,如果没有找到,则编译器会再在系统头文件夹中查找该头文件.
所以,这里,你应该把
#include
改为
#include "class.h"
还有,
你上面的程序的写法是不标准的,(但是能通过许多编译器)
应该这么写
#include
#include "class.h"
using namespace std; // 使用标准的名空间
int main(int argc, char *argv[]) // 标准 C++中 必须显式的申明 main 的返回值类型,不写的话有些编译器默认是 int 型
{
float l, w, h;
...
...
..
p[i].OutPut();
}
return 0; // 记得返回值
}
另外,团IDC网上有许多产品团购,便宜有口碑
把主文件和Stack.h文件放在相同的目录下,然后include "Stack.h";应该就可以了
把主文件和Stack.h文件放在相同的目录下面试试。然后到那个目录下面编译。
#include
#include
#include "Stack.h"
用这样的次序看看如何