在网上下载了 PrefixSpan 的C++ linux实现
http://chasen.org/~taku/software/prefixspan/
是日本人写的
在windows 和 linux下都编译不通过。
分析原因:
linux下:
见上一篇文章,是因为 C++ 模板类 map::iterator 不能区分是否是类型,
加上 typename 后编译 运行 成功。
windows下:
去掉 linux头文件
加入,getopt 的 windows 实现版本
编译通过运行出错,如《http://blog.csdn.net/vasco/archive/2007/04/10/1558656.aspx》
原程序中是pattern.erase (pattern.end()),老是提示超出边界,所以我改成pattern.pop_back()
改为 pattern.pop_back() 后运行成功。
分析原因,因为 pattern.end() 返回的是 最后一个元素的下一个位置。改为 pattern.erase (pattern.end()-1) 后运行成功
不知道 为什么 没有减一却可以在 linux下正常运行?