C++里string如何定义函数?

我这样定义:stringexchange(stringx,stringy){}为什么是错的额?... 我这样定义:
string exchange(string x,string y){

}
为什么是错的额?
展开
 我来答
wchyumo2011
推荐于2016-06-13 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:3078万
展开全部

C++中string类声明函数返回值类型与其他类型相同。如

string methodName(string a, string b)
//methodName为函数名,a,b为参数列表,开头的string为返回值类型。
{
    string comeString = "";
    //...
    return someString;
}

注意事项:

使用string类需要包含头文件#include <string>,他包含在std命名空间中,使用该类型有三种方式

(1)使用std命名空间,即using namespace std;

(2)不使用std命名空间,直接使用using 关键字包含,using std::string;

(3)前两者使用string类时直接使用string,但如果不使用前两者的话,需要在使用时在string前加std::,即std::string来进行变量或函数的声明。

lyqf365
推荐于2018-03-10 · TA获得超过1185个赞
知道小有建树答主
回答量:1291
采纳率:100%
帮助的人:824万
展开全部
#include<iostream>
#include<string>

std::string exchange(std::string x, std::string y)
{
    return y + x;
}
template<class T>
void  _swap(T& a, T&  b)
{
    T c;
    c = a;
    a = b;
    b = c;
}
int main()
{
    std::string a = "world";
    std::string b = "hello";


    std::cout<< a << "  "<< b<<std::endl;

    _swap<std::string>(a,b);

    std::cout<< a << "  "<< b<<std::endl;
}

程序输出

==================

world  hello
hello  world

==================

你的函数出错了,主要检查三个地方

  1. 是否引入了相关的头文件 比如 #include<string>

  2. 是否用using 引入了命名空间或者在使用的地方使用了命名空间,比如using std::string 或using namespace std 来引入命名空间,或者在代码中使用 std::string

  3. 你是函数是否有正确的返回值,或者函数内部有错误。如果仅仅是声名,那么不要用花括号。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式