前提・実現したいこと
タイトルに書いたことを抽象的に書くと、「引数としてn次元配列を宣言した関数に、m次元分のインデックスを固定したn+m次元配列を実質的なn次元配列として渡したい」です。
それが関数の汎用性につながると考えたからです。
発生している問題・エラーメッセージ
エラーメッセージ
error C2059: 構文エラー: ']'
### 該当のソースコード #include "pch.h" #include <stdio.h> void answer(double matrix[3][3]) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { printf("%lf",matrix[i][j]); } printf("\n"); } } int main() { static double m[2][3][3] = { {{1,2,3},{4,5,6},{7,8,9}},{{10,11,12},{13,14,15},{16,17,18}} }; answer(m[1][][]); } ```ここに言語名を入力 C言語 ソースコード ` ### 試したこと 上記のソースコードを使えば{{10,11,12},{13,14,15},{16,17,18}}が関数answerで出力されてほしかったのですが無理でした。メイン関数で一度2次元配列を用意して以下のようにしてから配列tmpを渡すしかないのでしょうか。代入に時間がかかりそうなのでできればやりたくないので他にいい方法があれば知りたいです。 for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { tmp[i][j]=m[1][i][j]; } } ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/19 05:32
2019/07/19 06:46 編集
2019/07/22 05:11