【Bug记录】编译检查:expression后出现意外标识符

简介: 【Bug记录】编译检查:expression后出现意外标识符

项目场景:

在写模拟vector时遇到的bug,整体我当时写的vector情况如下:


问题描述

语法报错:

template<class T>
void print_vector(const vector<T>& v)
{
  for (size_t i = 0; i < v.size(); i++)
  {
    cout << v[i] << " ";
  }
  cout << endl;
  vector<T>::const_iterator it = v.begin();
  //auto it = v.begin();
  while (it != v.end())
  {
    cout << *it << " ";
    ++it;
  }
  cout << endl;
}

原因分析:

这里是因为编译器在编译时候进行语法检查,不确定iterator是一个类型还是类内的静态变量,因此报出了语法错误的提示。


解决方案:

明确告诉编译器这是一个类型,在前面加typename即可。


EOF

相关文章
|
Unix Linux Shell
linux 未预期的符号 `$‘{\r‘‘ 附近有语法错误
linux 未预期的符号 `$‘{\r‘‘ 附近有语法错误
840 0
|
2月前
|
C++
Tiled的qbs方式编译记录
本文记录了使用qbs编译Tiled项目的过程,包括编译成功截图、解决moc_donationpopup.cpp缺失问题的方法,以及相关参考链接。文章还提到了格式问题修正和删除libtilededitor文件夹以重新编译的步骤。
Tiled的qbs方式编译记录
|
3月前
|
编译器
【Bug记录】函数错误匹配,非法的间接寻址
【Bug记录】函数错误匹配,非法的间接寻址
|
JavaScript
tsc : 无法将“tsc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
tsc : 无法将“tsc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
tsc : 无法将“tsc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
错误使用xlsread(line 260),错误:服务器出现意外情况
错误使用xlsread(line 260),错误:服务器出现意外情况
120 0
|
XML Java Android开发
Androistudio lint检查去除无效代码、无效资源
Androistudio lint检查去除无效代码、无效资源
380 0
|
安全 编译器 Go
读<一例 Go 编译器代码优化 bug 定位和修复解析>
读<一例 Go 编译器代码优化 bug 定位和修复解析>
105 0
|
编译器 Linux 测试技术
【C/C++】C语言工程转C++工程,去除旧代码中的警告和错误
将 C语言项目转为C++项目更新维护,处理旧代码中的警告和错误
487 0
VS无法断点调试,编译时为生成pdb文件,不包含调试信息(未加载任何符号)
VS无法断点调试,编译时为生成pdb文件,不包含调试信息(未加载任何符号)
508 0