Redian新闻
>
请教: 用stable_sort 在VC++下通过但在g++下通不过
avatar
c*6
2
我需要用一个返回索引的排序算法,就写了以下小函数,
在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; istable_sort( idx.begin(), idx.end(), lt(vect) );
}
avatar
wh
3
代乐子回hi.
什么chumby?

【在 s*********e 的大作中提到】
: Hi Hi
: 邓丽君 -- 你心我心
: http://www.chumby.com

avatar
p*o
4
标准说模板函数不能引用没有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:

avatar
s*e
5
try the website above, just got it per Fedex to EU.
avatar
c*6
6
thanks。

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

avatar
l*i
7
哇 太酷了 我前段时间还在想 不知道这种有网络支持的播放器是不是可以收听电台

【在 s*********e 的大作中提到】
: Hi Hi
: 邓丽君 -- 你心我心
: http://www.chumby.com

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。