次のコードは、行の最後に "制御が非空白関数の終了に達しました"という警告を生成します。何が間違っている可能性がありますか?クイック検索から、それは戻り値と関係しているようです。制御は非void関数の終了に達します警告C++
std::vector<csce::point<T>> compute_hull(std::vector<csce::point<T>>& points) const {
for(std::size_t x=0; x<points.size(); x++){
for(std::size_t m=1; m<(1<<(1<<x)); m++){
std::vector<std::vector<csce::point<T>>> hulls;
for(std::size_t i=0; i<points.size(); i=i+m){
std::vector<csce::point<T>> chunk;
if(points.begin()+i+m <= points.end())
chunk.assign(points.begin()+i,points.begin()+i+m);
else
chunk.assign(points.begin()+i,points.end());
hulls.push_back(this->graham_scan(chunk));
}
std::vector<std::pair<int,int>> hull;
hull.push_back(this->extreme_hullpt_pair(hulls));
for(std::size_t i=0; i<m; ++i){
std::pair<int,int> p = this->next_hullpt_pair(hulls,hull[hull.size()-1]);
std::vector<csce::point<T>> output;
if(p==hull[0]){
for(std::size_t j=0; j<hull.size(); j++){
output.push_back(hulls[hull[j].first][hull[j].second]);
}
return output;
}
hull.push_back(p);
}
}
}
}
書式を修正し、最後の閉じ括弧の前に 'return'文を入れてください。 –
元のフォームは正解の重要な部分ですので、編集をロールバックしてください。おかげさまで –