社区
C语言
帖子详情
关于作用域
GhostAdz
2003-08-18 07:33:14
struct S1{int a;char b;};
和
struct S1{int a;char bb;};
分别在两个不同的文件里
vc下编译是对的,可书上说是错的
因为结构和类只能有一种唯一的定义
不知道为什么
还有一般类的定义放在头文件好
还是cpp文件好呢
...全文
39
17
打赏
收藏
关于作用域
struct S1{int a;char b;}; 和 struct S1{int a;char bb;}; 分别在两个不同的文件里 vc下编译是对的,可书上说是错的 因为结构和类只能有一种唯一的定义 不知道为什么 还有一般类的定义放在头文件好 还是cpp文件好呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wbh0360
2003-08-23
打赏
举报
回复
一楼分析的很正确
金笛子
2003-08-23
打赏
举报
回复
先看看作用域是什么吧
GhostAdz
2003-08-23
打赏
举报
回复
那两个是.cpp文件啊 不是头文件
只是一起编译呀
就象 int a;和int a=9;是两个.cpp文件里的一样呀
hunter0912
2003-08-21
打赏
举报
回复
引用的时候把那两个头文件包含到一起的话就会报错了
否则不报错
VC++7
leialen
2003-08-21
打赏
举报
回复
结构和类都放在头文件里定义比较好。但现在两个文件用是可以的,包含在一起时会有冲突的,叫重复定义。我们先要了解编译器要做的工作范围是什么。
leialen
2003-08-21
打赏
举报
回复
定义结构和类的时候系统没有为之分配内存,当用结构或类定义对象的时候才分配了空间。
int a = 6;
int a = 9;
出错就是内存里有一个地方已经分配给int a = 6;了,会有冲突。
GhostAdz
2003-08-21
打赏
举报
回复
真的没人知道吗
GhostAdz
2003-08-19
打赏
举报
回复
up myself
GhostAdz
2003-08-19
打赏
举报
回复
这两个结构不相同吧书上说违反ODR
One-Definition Rule单一定义规则
比如我在两个文件里分别定义
int a=9;和int a=6;
就会报错啊
可是为什么结构不报呢
GhostAdz
2003-08-19
打赏
举报
回复
定义没放在头文件里
分别放在两个cpp里
书上也是说这样是错的
但是我的编译器没报(struct S)
vc 6.0
caomuyong1
2003-08-19
打赏
举报
回复
定义放在头文件好一些吧
实现放在CPP中好一些,这是软件工程的最低访问权限原则
imeng99
2003-08-19
打赏
举报
回复
你在引用的时候把那两个头文件包含到一起了吗?如果这样的话,就会报错了。
GhostAdz
2003-08-19
打赏
举报
回复
up
playboyxp
2003-08-18
打赏
举报
回复
vc是一个开发环境,编译器不是标准的
johnxk
2003-08-18
打赏
举报
回复
楼上的楼上已经分析的很透彻了!
minghui000
2003-08-18
打赏
举报
回复
路过UP一下
grail0922
2003-08-18
打赏
举报
回复
这其实是两个完全相同的struct
放在不同的文件里面可以通过;
但在引用时,#include 了谁就使用谁。
类的定义一般放在.h文件中,实现放在.cpp文件中,主要是为了使用的方便。struct一般只是定义各种数据,放在哪里都无所谓。
但模板类不是的,它的声明和实现放在一个文件里面一般是头文件里面。因为它在编译时没有固体的类型,分开的话,会找不到实现。
JavaScript关于
作用域
、
作用域
链和闭包的理解
作用域
先来谈谈变量的
作用域
变量的
作用域
无非就是两种:全局变量和局部变量。 全局
作用域
: 最外层函数定义的变量拥有全局
作用域
,即对任何内部函数来说,都是可以访问的: var outerVar = "outer"; function ...
前端面试题-10-11
作用域
作用域
链
常见的
作用域
主要分为几个类型:全局
作用域
(global/window)、局部
作用域
、块级
作用域
、动态
作用域
。 1.全局
作用域
在代码中任何地方都能访问到的对象拥有全局
作用域
, (1)最外层的函数(在任意位置都能访问)...
【经典面试题】JS
作用域
、
作用域
链、预解析
在JavaScript中,
作用域
为可访问变量,对象,函数的集合,它分为局部
作用域
和全局
作用域
。
作用域
决定了这些变量的可访问性(可见性)。 1. 全局
作用域
(Global Scope) 在代码中任何地方都能访问到的对象拥有全局...
Js中的
作用域
和
作用域
链
Js中的
作用域
和
作用域
链 前言 阅读本文,请先阅读:Js中的函数相关:创建函数的三种方式、函数的形参和实参、返回值、return、break、continue的区别、重载和arguments、匿名函数、回调函数 阅读本文,请千万...
函数的
作用域
今天给大家分享一下函数里面关于
作用域
这块内容,它也是很重要的一块内容哦。 首先,我先来说一说什么是
作用域
。
作用域
就是一个变量可以生效的范围,一个变量他不是在所有的地方都可以使用的,而这个变量的使用范围...
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章