C++构造函数,无意中的错误。
来源:互联网 发布:快速网络宣传有哪些 编辑:程序博客网 时间:2024/05/05 15:15
#include <iostream>
using namespace std;
struct Node{
int u, v;
Node(){u = v = 3;}
Node(int u, int v){
u = u, v = v;
}
};
int main(){
Node n(1, 2);
printf("%d %d/n", n.u, n.v);
system("pause");
return 0;
}
很奇怪,没有编译错误甚至警告,问了几个人才恍然大悟,u,v在这种情况下也屏蔽了成员u,v导致初始化不确定,因此相当于成员,u,v都没有被初始化,输出结果不定。
TC++PL书上说只有static const int类型才可以在类中初始化,竟然在DEV中其他类型入float,double都可以初始化,但是在VS2008中却编译错误。
书上没解释,网上也看到什么解释,我也没想通为什么设计语言的时候要这个限制,莫非int型在编译的时候不好实现?。 有了解的路过发表下看法吧,3KS。
- C++构造函数,无意中的错误。
- C语言中的构造函数
- 如何处理C++构造函数中的错误
- 防止无意的错误
- 无意中的发现
- 无意中的网站检测
- 无意中的StackOverflowError
- 无意中的意外
- 2.c++与objective-c中的构造方法(构造函数)
- MFC一个无意的错误
- 关于Object-c 中的构造函数与析构函数
- spidev_test.c中的错误 spi 9bits 模式 messge构造
- 无意
- 无意
- objective-c中的构造函数(对象初始化)(七)
- objective-c中的构造函数(对象初始化)(七)
- C++-面试题:深度拷贝与构造函数中的异常
- 【C++】C++中的Sequence Point,构造函数等问题
- LD script
- 【转载】一些常用的WebServices 天气,IP,邮编,Emai
- 结构模式之Bridge
- 空气的导热性真差啊。。。
- 结构模式之Flyweight(享元)
- C++构造函数,无意中的错误。
- 行为模式之Template
- 网站是这样练成的
- 行为模式之Memento(备忘机制)
- 传智播客JAVA培训struts2学习笔记
- 随笔 留下
- 行为模式之Observer
- VS2010不支持Windows Mobile开发
- 行为模式之Chain of Responsibility(职责链)