0

I got the following code in C++ :

in main():

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
cout << function(1) << endl;

return 0;
}

in my source code file:

#include <math.h>

int function(int number)
{
int value(number + 2);

return value;
}

And in my header called "math.h" :

#ifndef MATH_H_INCLUDED
#define MATH_H_INCLUDED

int function(int number);

#endif // MATH_H_INCLUDED

When I try to compile it I got the error : "function" was not declared in this scope

Where am I wrong?

4

4 回答 4

4

<math.h>是标准头文件,并且使用#include <math.h>使其更喜欢标准头文件路径而不是当前目录,除非您给当前目录优先级(-I例如,通过使用开关指定包含路径)。

如果#include "math.h"改为使用,编译器将首先搜索当前目录。或者,您可以将头文件重命名为不同于math.h.

于 2013-04-30T21:09:05.433 回答
1

#include <…&gt;: < …<strong>> 的意思是“在包含路径中搜索”。

#include "…": " ...<strong>" 表示“在实际路径中搜索,如果没有找到标题,则在包含路径中搜索”。

于 2013-04-30T21:10:38.557 回答
0

问题是#include <math.h>搜索标准库的版本,而不是你的。使用双引号代替尖括号:

#include "math.h"
于 2013-04-30T21:07:28.120 回答
-1

错误说“函数”没有在这个范围内声明——我注意到在我怀疑你打算将其表示为“函数”的所有用途中,你将它拼写为带有“o”的“功能”。仔细检查您在使用和声明之间的拼写是否一致。

于 2013-04-30T21:08:43.503 回答