1 class Foo{
2
3 };
4
5 Foo func1(){
6 Foo f;
7 return f;
8 }
9
10 int func2(){
11 int a = 2;
12 return a;
13 }
14
15 int main(int argc, char** argv){
16 Foo var1;
17 func1() = var1; //OK
18 func2() = 1; //error: expression is not assignable
19 return 0;
20 }
組み込み型の戻り値への代入は許可されていませんが、ユーザー定義型の戻り値への代入は許可されていますか?メモリはどのように管理されていますが、他は許されません。戻り値の範囲と代入
func1()= var1;とはどういう意味ですか? –
私はそれがFooクラスの代入演算子を呼び出すことを理解しています。私の質問は、この問題の組み込み型とユーザー定義型の根本的な違いは何ですか? Foo&演算子=(Foo&); – parsimons
..そして何? –