vs2012中,在头文件中定义了变量,但是在主程序中还是提示变量未定义标识符?

C/C++ > 新手乐园 [问题点数:40分,结帖人cwt19902010]
本版专家分:0
结帖率 92.31%
本版专家分:66798
Blank
金牌 2016年7月 总版技术专家分月排行榜第一
2016年6月 总版技术专家分月排行榜第一
2016年4月 总版技术专家分月排行榜第一
Blank
银牌 2016年5月 总版技术专家分月排行榜第二
Blank
优秀版主 2016年10月优秀大版主
2016年8月论坛优秀大版主
Blank
铜牌 2016年11月 总版技术专家分月排行榜第三
2016年8月 总版技术专家分月排行榜第三
本版专家分:211
本版专家分:0
沧海1梦

等级:

头文件中只能声明变量不能定义变量 而声明变量必须带extern,为什么头文件中变量的声明都没有加

C++不允许多次定义变量,一个程序中对指定变量的定义只有一次,声明可以无数次。 三个例外:1)值编译时就已知的const变量的定义可放在头文件中,如:const int num=10;  2)类的定义可放在头文件

关于为什么不能在头文件中包含变量定义的解释

其实,并不是C语言标准不允许在头文件中包含变量定义,而是编译器本身产生了重复定义的错误。 这时候有些人会很奇怪,我不是写了#ifndef #define #endif这样的命令了吗? 如果你这样以为,就和笔者一开始犯了同样...

在头文件里声明一个变量,然后Cpp里赋值,怎么不行呢?

我的mfc程序里自定义了一个头文件,里面声明一个变量比如 int a和声明一个函数Init(); 然后自定义一个cpp,里面实现函数Init()。函数体里面给a赋值:a=6; 然后另一个dialog cpp里TRACE这个值试试,结果说...

头文件为什么不能定义变量

主程序:test.cpp \———————————————————————————– \test.cpp #include “th.h”int main() { return 0; } \—————————————————————————————— \...

头文件中定义和声明的问题

头文件中定义和声明的问题 ...C++不允许多次定义变量,一个程序中对指定变量的定义只有一次,声明可以无数次。 三个例外:1)值编译时就已知的const变量的定义可放在头文件中,如:const int num=10;

C语言中在头文件定义全局函数全局变量与c++中头文件定义全局函数的区别

.h文件 #ifndef CONFIG #define CONFIG extern int a; void static get(); void show(); #endif .c文件 #include<stdio.h> #include"config.h" int a=10; void static get() ...void sho...

C++多个头文件重复定义变量问题

head_file1.h的内容如下: #ifndef _HEAD_FILE1_H #define _HEAD_FILE1_H #define MAX 100 #endif/*** _HEAD_FILE1_H*/

【转】结构体定义在头文件.h中和定义在.c的不同考虑

C语言对于结构的定义一般放在.h中还是.c http://www.oschina.net/question/999013_92593?sort=default&p=1  点击打开链接 ——如果其可见性超出一个.c文件,那么应当放入.h,如果只是某个.c里需要这么一个...

头文件中只有声明,没有定义

因为我学C++之前一直是这样的,直到学习了C++的内联函数,内联函数的声明和定义分别不同的源文件,出现了链接错误。这个时候又接触到了这个问题:头文件中只有声明而没有定义本篇博客,我会分析这方面的...

C头文件中extern的作用

为了起到全局变量的作用,即一个变量在一个文件中定义了,可以其他文件修改。 这样可以.h头文件中,使用extern修饰,然后其他文件使用该变量。 所以这里总结一下H文件里面有什么。 1 #define 2typedef...

对“C++添加一个头文件和extern以及全局变量和局部变量问题”的解释

过了一天,问了一部分人,百度查了一下想了一下,很简单的问题。(以下为转载新浪博客somnik的归纳) 一、变量的分类 变量可以分为:全局变量、静态全局...静态全局变量在定义它的文件内有效;静态局部变量

codeblock无法编译,提示函数没有定义但是函数已经 在头文件中定义

添加文件时没有选中...CodeBlocks构建程序时以Targets为单位,若你没有把文件添加到指定Target,那么构建该Target时将不会编译该文件。新建文件时会提示文件名,同时也有Targets选择,你必须勾选两个Target

C++ .h文件包含头文件.cpp文件包含头文件有什么区别?

1、cpp文件包含.h文件,要么你要用到这个头文件中的函数或者类,要么就是实现这个头文件; 2、.h ---就是为了放一堆声明所产生的东西。 如果是定义放在.h。 如果.h被重复包含多次,那么则会被报重定义。所以...

linux常用的头文件

头文件主目录include 头文件目录总共有32个.h头文件。其中目录下有13个,asm子目录有4个,linux子目录有10个,sys子目录有5个。这些头文件各自的功能如下,具体的作用和所包含的信息请参见第14章。 ...

Keil多次调用头文件导致重定义报错(L104)

Main.c(主程序文件) LCD.c(液晶屏驱动程序) LCDFont.h(液晶屏字库&图形库) 调用结构: Main.c同时调用LCD.c和LCDFont.h(图形库) LCD.c调用LCDFont.h(字库) 此时会报错L104重定义(字库和图形...

为什么头文件中不要写函数定义

昨天看了一下预编译头文件的问题,领会到了预编译头文件的强大用处。于是乎,手痒尝试之。编写一甚为简单的小程序程序的大概框架如下: /*preCompeiledTest.cpp:*/ #include "print_out.h" int main() { ...

关于定义一个结构体可以被其他的源文件使用

第一步:首先建立一个头文件KEIL,或许一个头文件中有其他的定义等,为防止该包含头文件时,编译产生了重复定义的现象,所以我这专门定义了一个头文件用来存放自定义的结构体) 第二步:这个头文件中...

C++ 中头文件相互包含问题的解决办法

我们写C++程序的时候,常常要把不同的类的声明放置与不同的头文件中,以提高代码的整洁性,如此一来,就难免会遇到头文件相互包含的问题,也就是说,假设我们有两个类A和B,分别定义在各自的有文件A.h和B.h,...

C语言如何跨文件调用函数定义中声明的变量

但是局部变量值作用于它当前所在的块(即该变量所处最内层括号之间的区域),当函数执行完并离开当前块后,局部变量及其所处内存空间的值就会销毁。 static 关键字 static + 变量声明 表示声明的这个...

头文件 预处理 宏 相关介绍

头文件(*.h文件)可以自己写 ...头文件中一般放一些重复使用的代码,例如函数声明,变量声明,常数定义,宏的定义等等。当使用#include语句将头文件引用时,相当于将头文件中所有内容,复制到#include处。使用

相关热词 c# 不能序列化继承类 c# char* 调用 c# 开发dll模板 c#添加控件到工具箱 c#控制台组合数 编程计算猴子吃桃问题c# c# wpf 背景透明 随机抽取号码软件c# c# 开发环境 c# 属性和字段