constについて教えてください。以下のコード
//------------------------------------------------------
#include <stdio.h>
#include <math.h>
const double RANGE = 12.;
const int MESH = 10;
//const int N = (int)(12.0*10); // (1) OK
//const int N = (int)(12.0*MESH); // (2) OK
const int N = (int)(RANGE*10); // (3) NG
//const int N = (int)rint(12.0*10); // (4) NG
double Array[N];
//------------------------------------------------------
をg++ 4.0.1でcompileすると
error: array bound is not an integer constant
とでてきます。(1)(2)ではエラーは出ません。
(1)(2)が良くて、(3)がだめな理由がわかりません。
どなたか教えてください。
No.1ベストアンサー
- 回答日時:
配列を宣言するときの要素数は, 整数型の定数式が必要です.
この「整数型の定数式」に「リテラル」や「整数型の const 変数」は使えるんですが, 「実数型の const 変数」を使うことはできません. そういうものです.
ISO だと 5.19 Constant expression のあたりに, この制限が書かれています.
ありがとうございます。浮動小数点リテラルをcastして得られるconst
intはOKで、浮動小数点const変数をcastしてえられるconst intはNGというのが理解できないなかったのですが、「そういうもの」なのですね。
おそらく、cast計算と配列領域確保のtimingの問題でそういう仕様になっているのでしょうか。
教えていただいた規格を確認してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
関数から配列を返すには?
-
C言語において、 配列要素をひ...
-
構造体のextern方法
-
C言語についてです 5人のテスト...
-
define で 配列
-
c言語 構造体
-
C#で構造体の配列を持った構造...
-
配列の要素数に変数を入れたい...
-
char型配列をint型に代入するには
-
fclose()でセグメンテーション違反
-
const で宣言してるのに、値が...
-
MFC - ダイアログボックスのPic...
-
DxlibのLoadgraph()を使ったsta...
-
コンボボックスでデフォルト値...
-
C言語 構造体でつまずいています
-
C言語から質問です。
-
C言語入門者です。アドレス演算...
-
C#で配列が空かを判定するには?
-
c言語
-
C言語の課題丸投げ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報