c++ - 在 C++ 中,如何声明一个将任何对象的 vector 数组作为参数的函数?

标签 c++ arrays function arguments stdvector

例如,我有3个不同的对象a、b、c;每个都是不同类的实例。我想声明一个将 std::vector 数组作为参数的函数;其中 vector 数组是对象 a、b 或 c(未混合)的数组。我该怎么做?

我的代码:

//TODO: make this work for any vector array in the program;
bool assert_choice (std::vector<?> array) { //asserts that choice is valid 
    std::cout << "ohai" << std::endl;
    return true;
}

我不确定如何声明参数。

最佳答案

使用函数模板:

template< class T >
bool assert_choice( std::vector<T> array )
{
    //...
}

您也可以考虑通过引用传递 std::vector<T> &const std::vector<T> & .

关于c++ - 在 C++ 中,如何声明一个将任何对象的 vector 数组作为参数的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17015512/

相关文章:

javascript - Angular 9 找不到类型为 '[object Object]' 的不同支持对象 'object' 。 NgFor 仅支持绑定(bind)到 Iterables,例如数组

javascript - 从嵌套在函数中的函数返回数组并处理 promise 检查

r - 计算比较连续时间段的值的函数

c++ - 程序不计算记录数

c++ - 在 Internet Explorer 中检测 DOM 修改

php - 拆分字符串形成多维数组键?

php - 将 PHP 数据库值直接保存在 session 数组中是否安全?

c++ - 期望标题中的参数

c++ - 是否允许在一个类中混合使用新旧 C++ 函数语法?

JavaScript 使用 (this) 关键字