可以,不过这样当结构体复杂后就会影响效率了,最好传递指针或引用,如果结构体里只有基本类型可以直接用,有类的对象就需要这个类支持拷贝和赋值构造
string 支持赋值和拷贝,如果结构体里有指针,就要特别注意深拷贝和浅拷贝的问题了
#include
#include
using namespace std;
struct A
{
int a;
};
struct B
{
string b;
};
struct A FuncA()
{
A aa;
aa.a=1;
return aa;
}
struct B FuncB()
{
B b;
b.b="b";
return b;
}
int main()
{
A a=FuncA();
B b=FuncB();
cout<cout< return 0;
}
我上大学时, 学习的是不可以..
-------------------------------------------
但是现在几乎所有的答案是: 可以.
而且我试了我能接触到的所有编译器, 也是可以的.
另外 <<你应该知道的495个C语言问题>>里面明确指出. 可以.