C语言中的静态全局变量问题
在两个.cpp文件中定义staticinta静态全局变量,然后在第三个文件中引入,编译时报错:a重定义。看书上说静态全局变量的作用域限制在一个文件模块中了,度娘也说多个不...
在两个.cpp文件中定义static int a静态全局变量,然后在第三个文件中引入,编译时报错:a重定义。看书上说静态全局变量的作用域限制在一个文件模块中了,度娘也说多个不同的源文件中定义同名的静态全局变量是可以得,但实际是不行。有没有谁知道这是为什么。
PS:IDE是VS2015。 展开
PS:IDE是VS2015。 展开
3个回答
2015-03-24
展开全部
helloworld.cpp文件引用了one.cpp与two.cpp两个文件,相当于在同一文件中定义两次static int a
追问
你的意思是说引入.cpp文件就将三个文件变成一个文件了,那怎么才能不变成一个文件?
展开全部
估计你定义在头文件中而不是源文件中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询