none
请教一个简单的c++问题 RRS feed

  • 问题

  • 本人新学c++,请教大家,看看以下的这个程序为什么报错

     

    #include<iostream>
    #include<string>
    #include<algorithm>
    using namespace std;
    
    void main()
    { 
    int n;
    cin>>n;
    string *array=new string[n];
    for(int k=0;k<n;k++)
    cin>>array[k];
    for(int i=0;i<n;i++)
    reverse(array[i].begin,array[i].end);
    for(int j=0;j<n;j++)
    cout<<array[i]<<endl;
    
    }
    
    

    错误信息为cannot deduce template argument as function argument is ambiguous。
    reverse函数的具体用法是什么啊。我想将string串倒置。
    这个程序为什么出错

    2011年10月7日 13:16

答案

  • 你自己对比一下吧

    记得申请空间要释放

    #include<iostream>
    #include<string>
    #include<algorithm>
    using namespace std;
    
    void main()
    { 
    	int n;
    	cin>>n;
    	string *strArray=new string[n];
    	for(int k=0;k<n;k++)
    		cin>>strArray[k];
    	for(int i=0;i<n;i++)
    		reverse(strArray[i].begin(), strArray[i].end());
    	for(int j=0;j<n;j++)
    		cout<<strArray[j]<<endl;
    
    	delete[]	strArray;
    	system("pause");
    }

     

    • 已编辑 向立天MVP 2011年10月8日 0:49
    • 已标记为答案 Mentler 2011年10月9日 5:19
    2011年10月8日 0:49

全部回复