【发布时间】:2018-01-29 09:14:55
【问题描述】:
我想问这个问题... 为什么我们不能使用相机 c1(20); ???
这是在上课。 但是我们在Camera c1(20)中发现了错误;
请告诉我...
#include <iostream>
class Camera{
private:
public:
Camera(){
}
Camera(int x){
}
};
class Phone{
private:
Camera c1(20);
public:
};
int main(){
}
【问题讨论】:
-
为了避免一般的解析问题,您可以使用
Camera c1{20};或Camera c1 = Camera(20); -
请发布错误信息
-
不同意重复,因为在这个问题中,初始化是用常量值请求的,而不是(不明确的)标识符。虽然答案可能几乎相同,但问题对我来说却不同。
-
@Jean-BaptisteYunès 问题是
()中的任何表达式,编译器如何抱怨生成的格式错误的程序是实现定义的。 -
@caleth 我终于同意了,这是语法而不是语义。
标签: c++ constructor