V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  anonymous256  ›  全部回复第 5 页 / 共 34 页
回复总数  672
1  2  3  4  5  6  7  8  9  10 ... 34  
2021-03-10 19:12:59 +08:00
回复了 zxCoder 创建的主题 C++ 关于 C++ default constructor 的疑问
顺便提一句,你这个 C++类构造器相关的语言特性和设计完全无关,而是函数重载的范畴。编译器无法选择相应的函数。

int fct(){return 1;}

int fct(int a=1, int b=2) {return a+b;}

int main() {
auto a = fct();
return 0;
}

这样的写法同样报错:call of overloaded ‘fct()’ is ambiguous !
2021-03-10 18:54:19 +08:00
回复了 zxCoder 创建的主题 C++ 关于 C++ default constructor 的疑问
我重新回答一下你的问题,。简化一下你的代码,下面这样的写法中,`Triangular t1; ` 语句同样会报错。

```cpp
class Triangular {
public:
Triangular();
Triangular(int len = 1, int bp = 1);
private:
int _length;
int _beg_pos;
int _next;
};

Triangular::Triangular(int len, int bp) {
_length = len > 0 ? len : 1;
_beg_pos = bp > 0 ? bp : 1;
_next = _beg_pos - 1;
}

int main() {
Triangular t1;
return 0;
}
```

先说 C++的规则:

1. 如果你没有提供<任何一个>构造器,编译器自动会为你提供 default constructor 。那么 “Triangular t1; ” 写法正确,并且它会调用默认的(编译器提供的)构造器给你用。

2. 如果你提供了任意的一个非默认的构造器,比如 "Triangular(int a, int b);"。 那么 “Triangular t1; ” 写法错误。

3. 如果你想要默认的构造器,但是你又想要自定义默认的构造器(由于你对编译器提供的那个默认构造器不满意)。你有两种方法:

方法 A: 对已存在构造器参数提供默认值,也就你的这个:

Triangular(int len = 1, int bp = 1);

方法 B:对 C++默认的构造器重载,自定义它的实现:

Triangular(); // 隐式声明:使用默认的糟糕器
// Triangular()的代码实现 在别处

切记:你有且只能拥有一个默认的构造器,你不可以想要拥有两个! 也就是说,方法 A 和方法 B,你只能选一个。

而你的问题就出在这里:你实现了两个默认的构造器!如果存在两个可供选择的函数并且它们 [难分优劣] ,则编译器认为此次调用存在二义性并且报错。更具体的说,如果你同时实现了方法 A 和方法 B,当编译器执行到“Triangular t1; ” ,编译器即可以选择方法 A 定义的函数,也可以选择方法 B 定义的函数,编译器此时并不知道应该选择哪个最为恰当;编译器被搞晕了,它因此报错了。
Fvwm ?
2021-03-06 17:36:19 +08:00
回复了 zxCoder 创建的主题 C++ 关于 C++ default constructor 的疑问
“是因为 Triangular(int len = 1, int bp = 1)这个构造函数也被认为是无参构造?” 是啊
你没提供参数,编译器不知道选择哪个构造函数了。 你需要移除一个构造函数
2021-03-04 18:22:12 +08:00
回复了 TanLeDeDaNong 创建的主题 投资 304 惨案 ,股友基友进来比比惨
短期由市场情绪主导,长期看基本面
2021-03-04 16:20:33 +08:00
回复了 chinafengzhao 创建的主题 云计算 亚马逊 AWS 的机子 ssh 不上去
我用了一年的天梯,今天也挂了。 童稚状态,无聊的把戏
jetbrain 的产品有 [local history] 功能,你想要的任何版本都有。
2021-03-03 16:27:22 +08:00
回复了 jetflyL 创建的主题 程序员 问下你们会去看英文的技术书籍吗
基本只看英文的,英文的作者风趣幽默的多,读起来很舒服和愉快。 国内的书,一板一眼,无趣无味。
我宁愿英文书看得慢,也不看一本(计算机和编程方面的)中文书。
2021-03-03 14:49:17 +08:00
回复了 unii23i 创建的主题 互联网 有什么适合 22 岁以上纯净交友 app?
交朋友讲究志趣相投,起码也要三观一致,交到特别合适的朋友还是挺难的。以前没网络没手机的时候,交朋友都是看同学里面有没有性格差不多的,处得来的,也就成了朋友。现在有互联网,鱼龙混杂,想通过一些聊天就找到合适的朋友,即便可能也很困难。
2021-03-02 15:36:27 +08:00
回复了 he110comex 创建的主题 问与答 买房后结婚付不起礼金,该怎么解决?
“准备结婚了(父母催),丈母娘那边先说 15 万礼金,后来说 20 万,再后来是 28 万。”

这个是卖女儿啊。还是拍卖喊价的,真是看不懂,会有父母这种骚操作。
2021-02-27 18:54:28 +08:00
回复了 pianjiao 创建的主题 生活 觉得活着没劲,一点意思都没有
我也有过这段时间,大概几个月,希望你能走出来。

我也是因为有太多不开心的负面情绪,所以我去年就辞职了。刚开始我是打打游戏,转移下注意力,后来还是觉得这样的生活太多无聊乏味。可能就一瞬间,感觉人一生还是挺短暂的,尽可能去做些自己想做的事情。现在已经从消极的状态中走出来了。我觉得活着嘛,要找到自己的兴趣所在。为自己喜欢的事情忙起来,人生就充满乐趣了。

推荐你看两篇短文吧:
一篇是《工作与人生》,http://www.bwsk.com/xd/w/wangxiaobo/qt/007.htm
一篇是《给点气氛》,https://yuedu.163.com/book_reader/186bb1e4a20949f48ea74426e52d97d2_4/a2c20335fbec4e31931c10279d024f8c_4
那是和年龄有关吧。

我一回家要不就催婚,然而我对象都没有,我去哪里偷个女人结婚? 婚这种事能随便就结了? 我爸妈吵半辈子架,婚姻不幸,现在还想让我重蹈覆辙。要不就催着我买房 。我就没打算花父母的积蓄买房,自己以后能买上就买上,不能就将就着。价值观,人生,各种差距太多。 如果不涉及这些话题,只是一家人吃吃饭过过年也没什么。说这些,一点意思都没有。

我是真的烦中国父母的这些传统观念。小时候拿我和别的小孩比成绩,毕业后再和别人的孩子比薪资,现在又瞅着别人的孩子结婚买房了,也要我和别人比一比。就不消停的。
1. 有弹窗,99%是装了什么不干净的软件。要对症下药,找对软件去卸载。
2. 部分常用软件,但是有广告的话,比如搜狗输入法的,可以去用火绒拦截。
2020-10-17 16:07:53 +08:00
回复了 Yoonlook 创建的主题 优惠信息 正版 idm 永久版仅需 139 元
还不错的工具了,去年就买过了,好像 98 块左右买的。不能跨平台,只能我那台 windows 电脑用。
1  2  3  4  5  6  7  8  9  10 ... 34  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1301 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 17:19 · PVG 01:19 · LAX 09:19 · JFK 12:19
Developed with CodeLauncher
♥ Do have faith in what you're doing.