#include <iostream>
using namespace std;
#include "fnl.h"
int n;
int main()
{
n=20;
fnl();
cout<<"n的值为"<<n;
}
extern int n;
void fnl()
{
n=30
}
提示,第四行Cannot open include file: 'fnl.h': No such file or directory
第四行不能去掉 还有如何查询有没有创建fnl.h这个文件?
c++问题错误Cannot open include file
答案:3 悬赏:50
解决时间 2021-03-12 14:18
- 提问者网友:伪善人独行者
- 2021-03-12 08:57
最佳答案
- 二级知识专家网友:如果这是命
- 2021-03-12 09:35
请问你程序中有定义fnl.h头文件吗?
而且最后n=30;你没加分号。
这个程序是想考察extern的用法吗,自始至终都只有一个变量n,用extern有什么用。当全局变量和局部变量重名时(其实是两个不同的变量),为了引用外面的变量才声明变量为extern,否则就会引用局部变量,所以最好不用定义重名的变量,这样就没有必要用extern了 ,当然如果要想访问其他文件中的变量就加extern了
#include<iostream>
using namespace std;
int n;//全局变量
void fn1();
int main()
{
n=20;//全局变量赋值
fn1();
return 0;
}
void fn1()
{
int n=30;//定义局部变量,最好不要与全局变量n重名,就不用extern了
cout<<n<<endl;//输出局部变量
{
extern int n;//如果没有此句,下一句将输出30,
cout<<n<<endl;
}
}
而且最后n=30;你没加分号。
这个程序是想考察extern的用法吗,自始至终都只有一个变量n,用extern有什么用。当全局变量和局部变量重名时(其实是两个不同的变量),为了引用外面的变量才声明变量为extern,否则就会引用局部变量,所以最好不用定义重名的变量,这样就没有必要用extern了 ,当然如果要想访问其他文件中的变量就加extern了
#include<iostream>
using namespace std;
int n;//全局变量
void fn1();
int main()
{
n=20;//全局变量赋值
fn1();
return 0;
}
void fn1()
{
int n=30;//定义局部变量,最好不要与全局变量n重名,就不用extern了
cout<<n<<endl;//输出局部变量
{
extern int n;//如果没有此句,下一句将输出30,
cout<<n<<endl;
}
}
全部回答
- 1楼网友:你把微笑给了谁
- 2021-03-12 10:30
#include "fnl.h"
你有没有创建这个fnl.h这个文件?如果没有的话当然是不行了
- 2楼网友:浪女动了心
- 2021-03-12 10:16
#include 这儿的问题,也就是不存在这个文件,像这种形式的包含的一般都是库里的头文件,但是库里没这个文件,你改成#include “odmg.h”试试
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |