所以我在编写光线跟踪器时尝试学习c ++,当我尝试使用我的makefile(首先生成.o文件然后链接它们)进行编译时,我对此错误有点挣扎.完整错误如下:
touch include/ray.h
touch include/material.h
touch include/hit.h
touch include/object.h
touch include/light.h
touch include/scene.h
touch include/sphere.h
touch include/directional_light.h
g++ -c -O -I. raytrace.cpp -o raytrace.o -std=c++0x
g++ -c -O -I. base/scene.cpp -o base/scene.o -std=c++0x
g++ -c -O -I. base/vector.cpp -o base/vector.o -std=c++0x
g++ -c -O -I. base/vertex.cpp -o base/vertex.o -std=c++0x
g++ -c -O -I. base/colour.cpp -o base/colour.o -std=c++0x
g++ -c -O -I. objects/object.cpp -o objects/object.o -std=c++0x
g++ -c -O -I. objects/sphere.cpp -o objects/sphere.o -std=c++0x
g++ -c -O -I. base/material.cpp -o base/material.o -std=c++0x
g++ -c -O -I. base/ray.cpp -o base/ray.o -std=c++0x
g++ -c -O -I. lights/light.cpp -o lights/light.o -std=c++0x
g++ -c -O -I. lights/directional_light.cpp -o lights/directional_light.o -std=c++0x
g++ -c -O -I. base/hit.cpp -o base/hit.o -std=c++0x
g++ -c -O -I. base/matrix.cpp -o base/matrix.o -std=c++0x
touch include/t_stack.h
g++ -c -O -I. t_stack/matrix_w.cpp -o t_stack/matrix_w.o -std=c++0x
touch include/t_stack.h
g++ -c -O -I. t_stack/t_stack.cpp -o t_stack/t_stack.o -std=c++0x
In file included from t_stack/t_stack.cpp:1:
./include/t_stack.h:12: error: expected ‘;’ before ‘<’ token
./include/t_stack.h:13: error: expected ‘;’ before ‘<’ token
Run Code Online (Sandbox Code Playgroud)
导致问题的代码是t_stack.h文件:
1 #ifndef _STACK_H_
2 #define _STACK_H_
3
4 #include <stack>
5 #include <list>
6 #include <iostream>
7 #include "include/matrix.h"
8 #include "include/matrix_w.h"
9
10 class T_stack {
11 private:
12 stack<Matrix_w*, list<Matrix_w* > >* m_stack;
13 list<Matrix<double>* >* t_list;
14 public:
15 T_stack();
16 void pop();
17 void push_translation(double tx, double ty, double tz);
18 void push_scaling(double sx, double sy, double sz);
19 int size() const;
20 ~T_stack();
21 };
22
23 #endif
Run Code Online (Sandbox Code Playgroud)
我已经检查了其中包含的其他文件,例如matrix.h和matrix_w.h,我很确定它们不会遗漏任何分号或任何这些东西.我甚至尝试编译除t_stack.h文件之外的所有内容并且它正确构建...任何想法可能是什么问题?这有点奇怪,因为在我尝试将这些文件与其余代码合并之前,我使用更简单的程序进行了几项测试,并且一切正常...非常感谢帮助.谢谢!
| 归档时间: |
|
| 查看次数: |
1210 次 |
| 最近记录: |