也就是说你在构造的时候用=初始化其实是调用了单参数的构造函数 如果构造的时候有多个参数,那你就不能用=初始化了,这个时候必须以第2种方式,在构造函数形参列表里提供多个参数才行 比如 string a = "123"; // 单参数构造 string b(10, '9'); // 2个参数,但你不能string b = 10, '9' 最后那句话应该是“多个初始化参数时不能使用隐式构造函数调用”,也就是不能使用= 这书翻译的不好