C++ / 函数から排列を返したい

排列は返せない。

多値を返したい場合と同じように、値を格納するための排列をあらかじめ用意しておいて、その排列(の先頭の要素のアドレス)を函数に渡して値を書き込ませる。

#include <iostream>
using namespace std;

void returnArr(int *arr){
    arr[0] = 10;
    arr[1] = 20;
    arr[2] = 30;
}

int main(){
    int vals[3];     // 排列を格納するための変数をあらかじめ用意しておいて、
    returnArr(vals); // その排列を函数に渡して値を書き込んでもらう。


    // 書き込まれた値を確認する。
    for(int val: vals){
        cout << val << ", ";
    }


    system("pause");
    return 0;
}

f:id:ti-nspire:20181120170651p:plain