template<typename T>
bool Palindrome(vector<T> word) {
vector<T>::iterator start = word.begin();
vector<T>::iterator end = word.end();
for (;start != (word.begin() + word.end())/ 2;start++) {
if (*start != *(--end)) {
return false;
}
}
return true;
}
我不能创建的迭代器中的代码行3。我必须为任何数据类型制作一个回文检查器。有没有关于语法的问题,或者我们不能这样做。谢谢!无法创建模板<typename T>矢量<T> ::迭代器,C++
错误消息是如下:
“结束”在此范围 “开始”未声明没有被在该范围内声明
从属名“的std ::矢量:迭代”被解析作为非类型,但实例化产生一个类型
依赖名称'std :: vector :: iterator'被解析为非类型,但实例化产生一个类型 预期';'在'结束'之前
预期';' 'std :: vector :: iterator'之前需要'typename',因为'std :: vector'是一个依赖范围 'std :: vector :: iterator'之前需要'typename',因为'std ::向量”是一个依赖范围 敌不过 '操作符/'(操作数的类型是 '__gnu_cxx :: __ normal_iterator>' 和 'INT')
找相关的名称。 –
说实话,如果你正在做回文检查,你需要使用'rbegin()'和'begin()'。 –
通用回文检测器中魔术数字“6”的用途是什么? – Arun