前提・実現したいこと
C++ で以下の internal compile error が出ています。
発生している問題・エラーメッセージ
internal compiler error: in expand_expr_real_1, at expr.c:10132
5 | int x[N] = {1, 2, 3};
| ^
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See https://github.com/msys2/MINGW-packages/issues for instructions.
該当のソースコード
エラー箇所だけ抜き出して再現すると以下のようなコードです。
cpp
1#include <iostream> 2 3struct hoge { 4 hoge(int N) { 5 int x[N] = {1, 2, 3}; 6 } 7}; 8 9int main() { 10 hoge a(10); 11}
試したこと
コンストラクタの中で
- 変数でサイズ指定
- { } を使って先頭の要素から順に値を指定、残りは 0 埋め
という書き方をしたときに発生するようです。
コンパイル時定数でサイズ指定した場合や { } を使わない場合はエラーになりませんでした。
補足情報(FW/ツールのバージョンなど)
msys2 で入れた MinGW で、gcc のバージョンは 10.3.0 です。
競技プログラミングのオンラインジャッジでは正常にコンパイルされているようです(以下リンク先の 13 行目で、コンストラクタの中で生配列を宣言しています)
https://judge.yosupo.jp/submission/60385
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/16 18:20
2021/09/17 05:14
2021/09/17 07:25