问题????
add.h
-
#include "mymath.h"
-
int add(int x, int y);
subtract.h
-
#include "mymath.h"
-
int subtract(int x, int y);
main.cpp
-
#include "add.h"
-
#include "subtract.h"
当我们有add.h,它带来了两个mymath.h和原型的add()。
当我们有subtract.h,它带来两个mymath.h(再次)和原型减去()。
因此,mymath.h的所有内容将被包含了两次,这将导致编译器报错。
解决方法:
Header guard 直译是头文件保护
在定义头文件是使用 头文件保护
例:
-
#ifndef SOME_UNIQUE_NAME_HERE
-
#define SOME_UNIQUE_NAME_HERE
-
-
// your declarations here
-
-
#endif
阅读(289) | 评论(0) | 转发(0) |