wcl0620 2016-09-14 09:58 采纳率: 0%
浏览 1080

C++ extern 关键词错误

我用的是Vs2015 我在主程序cpp文件中如果使用extern 关键词引用另外一个文件中定义的一个变量, vs报错。但是如果在另一个文件中使用extern引用主程序cpp中定义的一个变量却是可以的。代码如下:
// file1.cpp
#include isotream
int a=0; // 定义变量
...

// file2.cpp
#include iostream
extern int a; // 引用file1.cpp中的变量
int main()
{
std::cout<<a<<std::endl; // 报错unresolved external symbol "int a"
// (?a@@3HA)
}

这种情况编译器不会报错:
// file1.cpp
#include iostream
extern int a;

//file2.cpp
#include iostream
int a=0;
int main()
{

}

  • 写回答

1条回答 默认 最新

  • AlbertS 博客专家认证 2016-09-14 10:06
    关注

    file1.cpp是不是没有加到工程中啊,我按你的方法试了一下是可以的,把文件从工程中移除就出现了你的问题

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题