我正在尝试在 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);
}
}
//这里我想返回“点”或“带有点的线”或在我们的表面上层。//我想在一个功能中完成所有事情!}