为什么我在C++中的头文件中,类A下声明一下变量extern int test;会提示我A::test非法的存储类?? 请教!

为什么我在C++中的头文件中,类A下声明一下变量extern int test;会提示我A::test非法的存储类?? 请教!,第1张

我刚才做了一个实验:<br>//a.cpp <br>#include <string><br><br>std::string i<br><br>//b.cpp<br>#include <iostream><br>#include <string><br><br>extern std::string i<br><br>int main ()<br>{<br>std::cout <<i <<std::endl<br>}<br><br>运行结果为:<br><br>(上面是一空行:由于末尾用了endl)<br><br>如果没有a.cpp这个文件,运行出错<br>这是一对实验(有没有a.cpp文件)<br><br>可得出这样的结论:<br>a.cpp中std::string i是定义(本来就是)<br>b.cpp中extern std::string i则是声明(你的问题)<br><br>先别急,这只是实验结果。我们还需要理论依据,那么下面就试着解释一下:<br><br>下面是另一个例子(也是第二个实验)<br>你应该知道内置类型(int等)如果作为全局变量时,定义的同时也就初始化了(一个内置类型有其对应的默认值;如果你将自定义类型也看成内置类型,那么就等于说,一个自定义类型有其对应的默认值(由默认构造函数完成))。如<br>//c.cpp<br>int i<br><br>//d.cpp<br>#include <iostream><br><br>extern int i<br><br>int main ()<br>{<br>std::cout <<i <<std::endl<br>}<br><br>那么在这里int i就是定义(并且初始化了i,初始值为0)<br>因而输出结果为<br>0<br>//这个实验的运行结果符合理论依据。<br>(我使用的编译器是visual studio 2008)<br><br><br>从这两个实验来看:(将两个“默认”等同起来)<br>int i<br>std::string i<br>都可以作为初始化i的定义性语句。<br>那么<br>extern int i<br>extern std::string i<br>也具有定义行为(这个很明显与extern的用法相悖)<br><br>在以上两个试验中:int 与 string 有“区别”吗?所有的代码都一样只不过把std::string 换成了 int而已!如果你能解释int的情况,那么我想std::string问题也就迎刃而解了!<br><br>于是我个人总结出一个结论:<br>    不论是内置类型还是自定义类型,前面有extern关键字,如果没有显式地初始化参数(即就是自定义类型的默认构造函数被extern屏蔽了,不起初始化的作用),那么就按声明对待。<br> 麻烦采纳·····

错的地方多了,改成下面的:

$main = "网上大名:<a href='mailto:".$email."'>".$nickname."</a>:(".$t.")<br>留言: ".$note."<br><hr>"


欢迎分享,转载请注明来源:优选云

原文地址:https://54852.com/hy/744415.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-03
下一篇2023-06-03

随机推荐

  • 21岁的年龄到底适用欧莱雅清润系列产品吗

    可以啊,不过要根据你的肤质选择,欧莱雅的清润系列针对的是油性肤质。其实任何品牌都是分系列的。欧莱雅的清润系列适合年轻女孩子,复颜系列适合25岁以上,雪颜系列适合而二十岁以上。所以这些都是要看功效的欧莱雅属于中档档次的。欧莱雅属于中档品牌。欧

    2023-12-14
    19700
  • 皮肤不好用什么洗面奶 良心推荐好用洗面奶

    皮肤的清洁护理是很重要的,当肌肤出现问题的时候,清洁更是要做好,洗面奶是最常见的肌肤清洁产品,洗面奶的选择使用是十分重要的。皮肤不好用什么洗面奶1、理肤泉清痘净肤舒缓洁面啫喱 理肤泉清痘净肤舒缓洁面啫喱参考价格:185元200ml

    2023-12-14
    18600
  • 化妆品的十大名牌是什么牌子华东地区

    华东地区化妆品的十大名牌是:1、雅诗兰黛,是全球最大的护肤、化妆品和香水公司之一,公司由雅诗兰黛夫人在1946年创立。2、LANCOME兰蔻,总部在法国巴黎。其涉足护肤、彩妆、香水等多个高端化妆品产品领域,主要面向教育程度、收入水平较高,年

    2023-12-14
    15700
  • 如何查化妆品是否在药监局备案了

    现在市面上化妆品牌子非常的多,也非常的杂。在网上购买的化妆品有些打着进口的旗号实则是三无产品。对于这样的化妆品我们是可以预先查它们是否在药监局备案,如何查询呢?一起了解下吧。 搜索中国食品药品监督管理局。打开化妆品选项。

    2023-12-14
    15600
  • 中高端化妆品品牌有哪些

    1、雅诗兰黛雅诗兰黛是美国顶级化妆品牌,公司成立于1946年美国。公司规模庞大实力雄厚,旗下还有海蓝之谜以及朗仕等品牌。以抗衰老而知名推出了红石榴系列和小棕瓶修护系列产品,深受消费者的喜爱和追捧。创立时间:1946年,品牌发源地:美国。2、

    2023-12-14
    15500
  • 哪个网站可以从美国代购化妆品

    草莓网,很多大牌化妆品,保证真货还有 NO5化妆品商城 ,我就在这个网买有保障,淘宝的化妆品假货多,比真品便宜好多,可能都是分装的,对自己好点,便宜没好货。我买过好多便宜货,气死了,有一回买了个欧莱雅的粉底液才40多,假的嘞、!涂在脸上

    2023-12-14
    16400
  • 保湿水什么时候用比较好一天用几次

    每次洁面后可以使用保湿水。没有特别的限制次数,只要觉得皮肤干就可以使用。保湿水。是一种透明液态的化妆品,涂抹在皮肤的表面,用来清洁肌肤、保持肌肤的健康。保湿水的作用:1 清洁皮肤,去除皮肤表面脏物; 2 紧肤,收敛毛孔; 3 滋润、调整面部

    2023-12-13
    17300
  • 求。《家,N次方》中苏泉(Spring)的扮演者是谁啊

    吉米。 姓名:吉米 性别:男国籍:中国(内地)职业:其它简介: 吉米是目前国内第一位来往国际间的著名形象设计师;中国第一位签约海外公司的形象设计师;中国第一位举办了时装设计展的造型师;中国历届模特大赛评委、总形象设计师;他先后在意大利威尼斯

    2023-12-13
    21400
  • infinity茵菲妮是什么牌子高丝旗下的宠儿

    infinity茵菲妮,这个牌子我要介绍是高丝旗下的护肤品品牌,而不是音响品牌哦!这个牌子的东西很好用,但就是不知道为什么不火,小众产品我来推infinity是什么牌子 INFINITY茵菲妮,唤醒肌肤无限潜能。幸福,女性美的泉源

    2023-12-13
    23600

发表评论

登录后才能评论
保存