我在c++里面写个函数不用传递的取值怎么取?

来源:百度知道 编辑:UC知道 时间:2024/07/16 13:09:27
我在C++里面写了个函数String a()
现在我要用a() = "a";
函数内部需要怎么处理?
二楼的,我有些不明白,String a();
a() = "a";
都能编译通过,
现在的问题是用一个String接收这个"a"
也就是在a()外面定义一个全局变量的String b;
用a()="a";来给b赋值
请问怎么做?
呵呵,如果成功了给你加到100分
谢谢了

我现在定义为String& a();了
怎么能让b接收到"a"?

String& a()
{
String &t=b;
return t;
}

C++里没有这样的语法. 编译不会通过的

返回值是一个引用即可以,但千万不要返回局部变量的引用

这个,不能这样编吧?!

你的编译是不可能通过的,因为如果定义了这样一个函数string a();
那么它的返回值是string类型的,只能作为一个右值被使用,而不能做为左值使用,即a="fgdg";(你怎么写成了a()="sdf";)是不可能通过编译的,可以定义函数为string& a();

#include <string>
#include <iostream>

using namespace std;

string a()
{
return "a";
}

int main(void)
{
string b=a();
cout<<b<<endl;
return 0;
}