构造函数使用花括号调用基类

时间:2018-11-27 07:29:08

标签: c++ inheritance constructor

我正在尝试编译这段代码:

seaborn.heatmap

但是我不明白为什么两个构造函数需要基类。有人可以解释一下这行代码吗? 它还给出了编译时错误,如下所示

 Server(uint16_t port, NetworkManager nmanager)
: TCPServer(port, nmanager){} : TCPServer(port, nmanager)

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

此代码无法编译,因为它不是有效的C ++。定义构造函数时,成员初始化程序的序列可以为一个(包括基类构造函数调用)。将代码段更改为

时,该代码段很可能是正确的
 Server(uint16_t port, NetworkManager nmanager)
    : TCPServer(port, nmanager)
 // ^ From here, initialize base class and data members ONCE, separated by ","
 //   No additional ":" is allowed
 {}