[英]“No matching function for call to X” Error in C++
我正在嘗試向名為Vertex的類的對象向量中添加一個新對象,該類具有如下構造函數:
Vertex::Vertex(int x)
{
index=x;
next=NULL;
entry_time=0;
exit_time=0;
connections=0;
}
但是,我認為我無法將信息直接放入向量中,並認為我必須事先創建Vertex類的對象,將所需的信息歸於該對象,然后通過使用將其添加到向量中
Graph::Graph(bool x, int y)
{
is_digraph=x;
order=y;
is_connected=false;
for(int i=0; i<order; i++)
{
Vertex vt(i+1);
v.push_back(vt);
}
}
但是錯誤消息“沒有匹配的函數調用'Vertex :: Vertex()'”不斷彈出,好像我沒有發送整數作為參數,即使我非常確定通過將對象聲明為“ Vertex vt(i +1)“我正在發送一個整數作為參數。 我怎么了
vector
需要存儲的類型具有默認(無arg)構造函數。 這是必須的,以便諸如創建具有初始已知數量的元素的向量之類的事情起作用。 您的Vertex
沒有默認構造函數,因此不適合按原樣放置在vector
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.