Alles, was ich versuche zu tun, ist eine Reihe von Paaren gegeben eine Beziehung gegeben. Ich halte die folgende Fehlermeldung von der Linie 208 in der Datei xmemory bekommen:Sätze und Xmemory in C++
Fehler C2664: 'std :: pair < _Ty1, _Ty2> :: Paar (std :: pair < _Ty1, _Ty2> &)' : kann den Parameter 1 von 'Std :: Paar < _Ty1, _Ty2>' zu nicht konvertieren 'Std :: Paar < _Ty1, _Ty2> &' c: \ Programme (x86) \ Microsoft Visual Studio 10.0 \ vc \ include \ xmemory 208
Ich bin mir nicht sicher warum, hier ist mein Code:
void print_relation(const set<pair<int, int>> R);
set<pair<int, int>> init_relation(const int A[], const int size);
void main()
{
int A[] = {1, 4, 5, 7, 8, 13, 18, 22, 39};
const int size = 9;
set<pair<int, int>> R = init_relation(A, size);
print_relation(R);
system("pause");
}
void print_relation(const set<pair<int, int>> R)
{
set<pair<int, int>>::iterator Rit = R.begin();
cout << "Relation R:" << endl << endl;
for(int i = 0; Rit != R.end(); Rit++, i++)
{
printf("%d: (%d, %d)\n", i, (*Rit).first, (*Rit).second);
}
}
set<pair<int, int>> init_relation(const int A[], const int size)
{
set<pair<int, int>> R;
for(int i = 0; i < size - 1; i++)
{
for(int j = 0; j < size - 1; j++)
{
if((A[i] - A[j]) % 7 == 0)
{
R.insert(new pair<int, int>(i, j));
}
}
}
return R;
}
Sagen Sie uns, welche Zeile Ihres Codes betroffen ist. –