C++ で関数を作成しようとしていますが、さまざまな種類のベクトルを返すことができるように作成できるかどうか疑問に思っています。たとえば、さまざまなケースに基づいて、ベクトル文字列、int、double、または...何でも返します。C ++で可能ですか?(異なる arg(S) と異なるリターンでオーバーロード関数を使用したくありません) 私は C++ に非常に慣れていないので、私の質問はばかげているように思えるかもしれません。
ここに私のコードの一部があります:
//ここでゼロは交差を意味します
std::vector<??????> findZeros(const mesh::Region& s, char *model) const
{
//Point
if( model == "point" )
{
std::vector<Vertex> zeros;
for(Region::pointIterator it = s.beginPoint(); itv != s.endPoint(); ++itv )
{
if( abs(Val(*it)) < 1.e-12 )
zeros.push_back(*it);
}
std::vector<point> zerosP(zeros.begin(), zeros.end());
return zerosP;
}
//line
else if (EntityS == "line")
{
std::vector<line> zerosE;
std::vector<Point&> PointE;
for(Region::lineIterator ite = s.beginLine(); ite != s.endLine(); ++ite )
{
Line ed = *ite;
Point P0 = ed.point(0);
Point P1 = e.point(1);
if( ......... ) zerosE.push_back(ed);
else if ( ....... )
{
PontE.push_back( P0, P1);
zerosE.push_back(ed);
}
}
//ここで、「ポイント」または「そのポイントを含む線」、または上位レベルのサーフェスを返したい。// 1 つの関数ですべてを実行したい! }