0
I GEN VS 2015年に私のプログラムをコンパイルエラー:ベクトルを返す関数からベクトル値を取得する方法は?
関数へのポインタ型に適したオペレータのないクラス型のオブジェクトの呼び出し()または変換関数
それ関数への赤の呼び出しでマークし、ベクトルを返します。コードは次のとおりです。
struct punct {
int x, y, val;
};
int koli4estvoShagov = 0;
int arr[100][100];
int n, m;
vector<punct> shag(int x, int y, int nrShaga) {
punct shag;
shag.val = arr[x][y];
shag.x = x;
shag.y = y;
vector<punct> shagi;
shagi.push_back(shag);
if (nrShaga == koli4estvoShagov - 1) {
return shagi;
}
else if (x == m - 1) {
vector<punct> shagVNiz = shag(x, y + 1, nrShaga + 1);
shagi.insert(shagi.end(), shagVNiz.begin(), shagVNiz.end());
return shagi;
}
else if (y == n - 1) {
vector<punct> shagVPravo = shag(x + 1, y, nrShaga + 1);
shagi.insert(shagi.end(), shagVPravo.begin(), shagVPravo.end());
return shagi;
}
else {
vector<punct> shagVPravo = shag(x + 1, y, nrShaga + 1);
vector<punct> shagVNiz = shag(x, y + 1, nrShaga + 1);
vector<punct> max;
if (sum(shagVNiz) > sum(shagVPravo))
max = shagVNiz;
else
max = shagVPravo;
shagi.insert(shagi.end(), max.begin(), max.end());
return shagi;
}
}
具体的には、「シャグ」機能の呼び出しを見てください。
Omg、このような些細なエラー!ありがとう! –