1

push_backを使用してベクトル内に2つの引数を入れようとしていますが、関数は1つの引数しかとることができないため、エラーが発生します。どうすれば2つの引数を渡すことができますか?

頂点クラス:

template <class VertexType, class EdgeType> class Vertex{
public:
std::vector<std::pair<int, EdgeType>> VertexList;
};

Main()内の頂点クラスの外:

project3::Vertex<string, string> v1("v1");
v1.VertexList.push_back(1,"e1");

エラーは:

エラーC2661:'std :: vector <_Ty> :: push_back':オーバーロードされた関数は2つの引数を取りませんIntelliSense:関数呼び出しの引数が多すぎます

4

2 に答える 2

1

あなたがする必要があります

v1.VertexList.push_back(std::pair<int, EdgeType>(1,"e1"));
于 2011-04-10T04:08:40.150 に答える
1

push_back(make_pair(1、string( "e1")));を試してください。

于 2011-04-10T04:10:07.227 に答える