【发布时间】:2013-03-24 05:19:28
【问题描述】:
我正在使用boost::algorithm::contains(std::vector<long>, long value) 并收到大量错误。
std::vector<long> instance;
long byteIndex;
// (Perhaps more code?...)
boost::algorithm::contains(instances, byteIndex);
我不明白这个编译器错误C2039: 'type' : is not a member of 'boost::range_const_iterator<C>'。
我阅读了模板类并看到了一个使用 std::string 的演示
std::string s = "Boris Schäling";
boost::algorithm::contains(s, "is");
我认为我对 boost 的使用没有任何不同,除了我使用的是不同的类型。知道为什么 boost::algorithm::contains(std::vector<long>, long) 无法编译吗?
【问题讨论】:
-
请显示导致此错误的代码。
-
boost::algorithm::contains(std::vector<long>, long)是导致错误的代码。尝试编译导致错误的附加语句see reference to function template instantiation 'bool boost::algorithm::contains<std::_Vector_iterator<_Myvec>,long>(const Range1T &,const Range2T &)' being compiled。从模板的角度来看,我看不出我做错了什么。 -
请实际显示代码,不要只是描述它。
-
@KyleLutz
boost::algorithm::contains(instances, byteIndex)是instances是 std::vector和 byteIndex是 long 的代码。这是一个模板函数调用,因此没有更多可显示的内容。 -
您可以展示更多内容。提供一个实际的可编译示例来演示您的问题会更有帮助。根据您提供的信息,我们都只是猜测。