VC6.0支持C++不足处之一

上代码:
#include <iostream>
#include <iterator>
#include <algorithm>
#include <string>
#include <vector>
#include <fstream>

using namespace std;

int main( void )
{
    string from,to;
    cin >> from ;
    cin >> to;

    ifstream is( from.c_str() );
    istream_iterator ii(is);
    istream_iterator eos;

    vector b(ii,eos);  //此处vc6.0编译器提示一个错,见下面备注处。
    sort(b.begin(),b.end());

    ofstream os(to.c_str());
    ostream_iterator oo(os,"\n");

    unique_copy(b.begin(),b.end(),oo);
   
    return (!is.eof() || !os);
}

备注:编译错误提示信息
--------------------Configuration: IOiterator - Win32 Debug--------------------
Compiling...
IOiterator.cpp
G:\VC6.0 TestCode_C\IOiterator.cpp(20) : error C2664: '__thiscall std::vector,class std::allocator >,class std::allocator,cla
ss std::allocator > > >::std::vector,class std::allocator >,class std::allocator,class std::allocator > > >(unsig
ned int,const class std::basic_string,class std::allocator > &,const class std::allocator,class std::allocator > > &)' : cannot convert paramet
er 1 from 'class std::istream_iterator,class std::allocator >,char,struct std::char_traits >' to 'unsigned int'
        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
执行 cl.exe 时出错.

IOiterator.obj - 1 error(s), 0 warning(s)
-------------------------错误提示完毕----------------------------------
在vs2008版本以上运行正常。

 

---------------------------------------- 2019年09月11日 更新 -------------------------------------------

VC++6.0已经诞生超过20年,应该被淘汰了!后来者看到此篇文章,请抛弃VC++6.0,更换为VS2008、VS2013、VS2015、VS2017都可以!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值