const引用返回和STL向量的问题
problem with const reference return and STL vectors
我对以下代码片段有问题
string const& symbol::at(int index) const {
assert(index<symbol_data.vector::size());
return symbol_data.vector::at(index);
}
这里,symbol_data是类的私有成员,是向量
::at是我定义的符号类中的一个成员函数。
当我尝试编译此代码时,我收到以下错误消息:
error: ‘template<class _Tp, class _Alloc> class std::vector’ used without template parameters
然而,如果我将功能原型更改为,则没有错误
string symbol::at(int index) {...}
有人知道我如何让STL向量与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::
。
干杯&hth。,
我无法重现您的问题;以下程序在VS2010express上编译并运行良好。
#include <cassert>
#include <iostream>
#include <string>
#include <vector>
class symbol
{
std::vector<std::string> symbol_data;
public:
symbol()
{
symbol_data.push_back( "Str1" );
symbol_data.push_back( "Str2" );
}
std::string const& at( int index ) const
{
assert( index < symbol_data.vector::size() );
return symbol_data.vector::at( index );
}
};
int main()
{
symbol s;
std::cout << s.at( 0 ) << std::endl;
std::cin.get();
return 0;
}
相关文章:
- 如何在C++向量中奇数元素前面加上值-1,我在使用insert函数时遇到了问题
- 添加存储在向量中的大整数的函数出现问题
- C++ 继承向量问题(无限循环+在其他类中使用向量的问题)
- SWIG c++到python:向量问题
- 向量问题,如何删除向量中的数组?
- 向量问题,也许有点手
- ndk中的标准与cpp向量问题
- 从数据文件到多维向量问题
- C++:向量问题的向量
- 类向量 c++ 问题
- 特征向量问题
- C++std::向量问题
- 结构中的向量问题
- C++类向量问题
- 向量的向量问题
- 获取索引和元素-向量问题
- 搜索或发现向量问题内部
- C++向量问题;通过引用传递内容
- 几个c++向量问题
- 指向包含向量问题的实例类的指针<int>