由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教: 用stable_sort 在VC++下通过但在g++下通不过
相关主题
C++文件名读取一问c++ does not check const for extern variable?
C++ 全局变量是怎么回事?C++: Static initialization dependency
default linkage for const global variable in C/C++c++中的inline 函数是做什么的?
What're the three types of memory allocated for C++ variables?c++ 弱问题:static const char* const 这两个const 分别是什么意思?
static variable in template headera c++ question for template
也问个template 的问题(C++)How to update linked table in Access?
C++ Q07: unnamed namespace关于inline function里的static variable
inline到底能省多少时间?c++ class definition
相关话题的讨论汇总
话题: int话题: sort话题: c++话题: stable话题: lt
进入Programming版参与讨论
1 (共1页)
c****6
发帖数: 22
1
我需要用一个返回索引的排序算法,就写了以下小函数,
在VC++下能顺利编译且运行正确,但是在g++下通不过,
大意是说找不到对应的stable_sort,貌似参数类型不对,
我想来想去觉得也就是function object不对,但是看不出
哪里不对,请指教!
void sort_with_index(vector& vect, vector& idx)
{
class lt {
vector& _x;
public:
lt( vector& x ) : _x(x) {}
bool operator()( int j, int k ) const { return _x[j] > _x[k]; }
};

idx.resize(vect.size());
for (int i=0; i stable_sort( idx.begin(), idx.end(), lt(vect) );
}
p***o
发帖数: 1252
2
标准说模板函数不能引用没有linkage的类,而你的lt就是这么一个类,所以
gcc报错。你要把lt拿到函数外面来。
至于VC,估计是做了个扩展。我还是比较赞成这个扩展的,因为把lt拿到外面
来实在是太丑了 ...

【在 c****6 的大作中提到】
: 我需要用一个返回索引的排序算法,就写了以下小函数,
: 在VC++下能顺利编译且运行正确,但是在g++下通不过,
: 大意是说找不到对应的stable_sort,貌似参数类型不对,
: 我想来想去觉得也就是function object不对,但是看不出
: 哪里不对,请指教!
: void sort_with_index(vector& vect, vector& idx)
: {
: class lt {
: vector& _x;
: public:

c****6
发帖数: 22
3
thanks。

【在 p***o 的大作中提到】
: 标准说模板函数不能引用没有linkage的类,而你的lt就是这么一个类,所以
: gcc报错。你要把lt拿到函数外面来。
: 至于VC,估计是做了个扩展。我还是比较赞成这个扩展的,因为把lt拿到外面
: 来实在是太丑了 ...

1 (共1页)
进入Programming版参与讨论
相关主题
c++ class definitionstatic variable in template header
c++ inline问题 (转载)也问个template 的问题(C++)
请教英文名字的模糊识别?C++ Q07: unnamed namespace
Pattern recognition problem (转载)inline到底能省多少时间?
C++文件名读取一问c++ does not check const for extern variable?
C++ 全局变量是怎么回事?C++: Static initialization dependency
default linkage for const global variable in C/C++c++中的inline 函数是做什么的?
What're the three types of memory allocated for C++ variables?c++ 弱问题:static const char* const 这两个const 分别是什么意思?
相关话题的讨论汇总
话题: int话题: sort话题: c++话题: stable话题: lt