二次元配列を引数にするなら検索などで見つかるんですが、戻り値だと聞いたことが無いです。出来ないんでしょうか?
ご存知の方教えていただけませんか。
環境VC++2008EE、Windows7
やりたいことは大体こんな感じですがエラー出てしまいます。
#include <iostream>
using namespace std;
class CSample
{
public:
CSample(){ // array配列を初期化 }
const int (*array)[5] GetArray(){ return array; }
private:
int array[3][5];
};
void PrintArray(const int (*array)[5])
{
for(int i = 0; i < 3; ++i){
for(int j = 0; j < 5; ++j){
cout << array[i][j] << endl;
}
}
}
int main()
{
CSample obj;
PrintArray( obj.GetArray() );
return 0;
}
エラー
error: ';' が、識別子'GetArray'の前に必要です。
error: 型指定子がありません - int と仮定しました。メモ:C++ は int を既定値としてサポートしていません。
warning:'GetArray': 戻り値の型がありません。'int' を返すメンバ関数とみなします。
error: 'CSample::array' : 再定義されています。異なる派生型です。'CSample::array' の宣言を確認してください。
error: 'PrintArray' : 1番目の引数を'int'から 'const int (*)[5]' に変換できません。(新しい機能 ; ヘルプを参照)