我有两个结构:
struct port
{
bool isOutput;
bool isConnected;
int connwires;
};
struct node
{
port p;
vector<Wire*> w;
};
我有:
node *nodes;
在我班上。 问题是如何初始化由:
创建的所有n个节点结构的端口成员(p) nodes= new node[n];
类构造函数中的语句。
(我正在定义这样的端口结构:
struct port
{
bool isOutput=0;
bool isConnected=0;
int connwires=0;
};
但在“ISO C ++”中无效。 )
感谢。
答案 0 :(得分:4)
您需要为port
提供默认构造函数,以自动初始化其成员
struct port
{
port() :
isOutput(false),
isConnected(false),
connwires(0)
{ }
bool isOutput;
bool isConnected;
int connwires;
};
请注意,您的上一个代码是有效的,并且符合您自C ++ 11以来的预期。