【发布时间】:2014-06-07 04:55:42
【问题描述】:
当尝试使用位于不同文件夹中的名为 normalize 的 .h 文件(rat.h 与 rat.cpp 位于同一文件夹中)编译名为 rat 的 .cpp 文件时,我正在输入
g++ -I/opt/cis/include/ -I/opt/cis/lib/ rat.cpp
我在 .cpp 文件本身中包含了一个 int main() ,并完全注释掉了 .h 文件和 .cpp 文件的内部工作,只是为了尝试正确编译。
.h 文件(不包括注释项)
1 #ifndef RAT_H
2 #define RAT_H
3 #include <iostream>
4 #include <string>
5
6 class Rat {
7 friend std::ostream &operator<<(std::ostream &, const Rat &);
8 friend std::istream &operator>>(std::istream &, Rat &);
9 private:
10 double n,d;
11 public:
12 Rat(): n(0), d(1) {}
13 };
14. #endif
.cpp 文件
1 #include <iostream>
2 #include <cstdlib>
3 #include <string>
4 #include <sstream>
5 #include "rat.h"
6 #include "normalize.h"
7 using namespace std;
8 #ifdef TEST_RAT
9 int main() {};
10 #endif
我做错了什么?对不起,如果很明显。
【问题讨论】:
标签: c++