【发布时间】:2013-05-03 16:12:19
【问题描述】:
编辑:问题的解决方案如下:http://www.jusuchyne.com/codingchyne/2011/03/codeblocks-failed-to-find-the-header-file/
它不会编译,我有以下错误:
- foo.h 目录中没有这样的文件;
- foo 尚未声明;
- num 未在此范围内声明
- foo 不是类或命名空间
至少可以这么说,这很奇怪,因为我只是使用了“创建新类”的代码块,然后将其添加到了这个项目中。这是源代码:
标题:
#ifndef FOO_H
#define FOO_H
class foo
{
private:
int num;
public:
foo();
void set_num(int set);
int get_num();
};
#endif // FOO_H
cpp
#include "foo.h"
foo::foo()
{
num = 10;
}
void foo :: set_num(int set)
{
num = set;
}
int foo :: get_num()
{
return num;
}
忽略 calss 本身和它的作用,问题是即使我使用了默认的代码块类创建设置,它也无法编译。
错误:
C:\Users\SameTime\Desktop\CodeBLocks\ASDD\src\foo.cpp|1|error: foo.h: No such file or directory|
C:\Users\SameTime\Desktop\CodeBLocks\ASDD\src\foo.cpp|3|error: 'foo' has not been declared|
C:\Users\SameTime\Desktop\CodeBLocks\ASDD\src\foo.cpp|3|error: ISO C++ forbids declaration of 'foo' with no type|
C:\Users\SameTime\Desktop\CodeBLocks\ASDD\src\foo.cpp||In function 'int foo()':|
C:\Users\SameTime\Desktop\CodeBLocks\ASDD\src\foo.cpp|5|error: 'num' was not declared in this scope|
C:\Users\SameTime\Desktop\CodeBLocks\ASDD\src\foo.cpp|6|warning: no return statement in function returning non-void|
C:\Users\SameTime\Desktop\CodeBLocks\ASDD\src\foo.cpp|8|error: 'foo' is not a class or namespace|
C:\Users\SameTime\Desktop\CodeBLocks\ASDD\src\foo.cpp||In function 'void set_num(int)':|
C:\Users\SameTime\Desktop\CodeBLocks\ASDD\src\foo.cpp|10|error: 'num' was not declared in this scope|
C:\Users\SameTime\Desktop\CodeBLocks\ASDD\src\foo.cpp|13|error: 'foo' is not a class or namespace|
C:\Users\SameTime\Desktop\CodeBLocks\ASDD\src\foo.cpp||In function 'int get_num()':|
C:\Users\SameTime\Desktop\CodeBLocks\ASDD\src\foo.cpp|15|error: 'num' was not declared in this scope|
||=== Build finished: 8 errors, 1 warnings ===|
【问题讨论】:
-
头文件叫
foo.h和在同一个目录吗? -
是的。 IDE 处理该部分。
-
请发布您遇到的错误。
-
您是否在具有区分大小写文件的系统上进行编译?也许是 Foo.h 或 FOO.h?
-
你试过#include "./foo.h" 吗?
标签: c++ codeblocks