c++ - const 引用返回和 STL vector 的问题

标签 c++ stl vector reference constants

我在使用以下代码片段时遇到问题

    string const& symbol::at(int index) const {
    assert(index<symbol_data.vector::size());
    return symbol_data.vector::at(index);
    }

这里,symbol_data是类的私有(private)成员,是一个vector

::at 是我定义的符号类中的一个成员函数。

当我尝试编译这段代码时,我收到以下错误消息:

    error: ‘template<class _Tp, class _Alloc> class std::vector’ used without template parameters

但是,如果我把函数原型(prototype)改成

就没有错误了
    string symbol::at(int index) {...}

有人知道如何让 STL vector 与 const 引用一起正常工作吗?

最佳答案

我写这篇文章时你的代码:

string const& symbol::at(int index) const {
    assert(index<symbol_data.vector::size());
    return symbol_data.vector::at(index);
    }

只写 symbol_data. 而不是 symbol_data.vector::

干杯,

关于c++ - const 引用返回和 STL vector 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6530476/

相关文章:

c++ - 如何将网格归一化为 -1 到 1,然后从归一化网格恢复为原始网格?

c++ - std::auto_ptr<T> 用法

c++ - 如何对两个 vector 进行运算并将结果保存到另一个 vector

c++ - 将 vector 的 vector 打印到 ostream

c++ - 排序列表和结构 vector 之间的性能差距。 C++

c++ - 为什么我不能在派生类重写函数中调用 protected 虚拟基类函数?

c++ - std::string 比较,是否按字典顺序

r - 迭代向量的笛卡尔积

c++ - 使用 MSVC 的可变参数函数模板特化中的错误?

c++ - 使用具有可定义状态的仿函数作为 unordered_set 哈希函数