[過去ログ] 【初心者歓迎】C/C++室 Ver.102【環境依存OK】 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
704
(1): デフォルトの名無しさん [sage] 2018/04/27(金) 22:48:56 ID:bqnCmOTp(1/2) AAS
>>702
702(1): デフォルトの名無しさん [sage] 2018/04/27(金) 21:19:40 ID:wnXDwKhi(7/7) AAS
int func(const int **a) {
return 0;
}

int func2(const int *b) {
return 0;
}

int main() {
int n = 10;
int **a = new int*[n];
for (int i = 0; i < n; ++i) {
a[i] = new int[n];
}

func(a);

int *b = new int[n];

func2(b);

for (int i = 0; i < n; ++i) {
delete[] a[i];
}
delete[] a;

delete[] b;
}
皆が言っているのは質問の内容とはちょっと違うけど、
func の中で a[0] = 0; などを禁止するために内側のポインタ自体も const にして

const int * const * にした方がいいよということ
705
(1): 704 [sage] 2018/04/27(金) 22:53:34 ID:bqnCmOTp(2/2) AAS
いやごめん

func(int * const * )にすればコンパイル通るのか…
T * const * ==> const T * const * という変換は暗黙でokなのか
自分がバカでした
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.043s