こんにちは
int k[12] = {1,2,3,4,5,6,7,8,9,10,11,12};
とグローバル変数で定義したあと、mainで
for(int i=0; i<k.length;){
とforループしようとしているんですが、
error:request for member 'lengh' in 'k', which is non-class type 'int[12]'
とエラーがでてしまいます
どこがおかしいのでしょうか?
それと、kの定義のとこは、一定値の配列なので
const int k[12] = {1,2,3,4,5,6,7,8,9,10,11,12};
としてもよろしいのでしょうか?(どちらにしてもエラーになりますけど)
よろしくおねがいします。
lengthの使い方(初心者です)
Re: lengthの使い方(初心者です)
int k[12]にはlengthなんていう名前のプロパティは有りません。
というか、基本型に".xxxx"という表現でアクセスできるようなプログラム言語要素は存在しません。
他言語の知識でプログラムしようとしているようですが、c/c++言語の基本的なところから学習する必要がありそうです。
(普通の初心者はいきなり k.length なんて入力しないと思いますが。)
というか、基本型に".xxxx"という表現でアクセスできるようなプログラム言語要素は存在しません。
他言語の知識でプログラムしようとしているようですが、c/c++言語の基本的なところから学習する必要がありそうです。
(普通の初心者はいきなり k.length なんて入力しないと思いますが。)
Re: lengthの使い方(初心者です)
うーん、「lengthなんていう名前のプロパティは有りません。」でプロパティというものが有ると勘違いさせてしまいましたかね。ジョぱん さんが書きました:ありがとうございます。
配列の要素数、長さ、を表現できるプロパティはないのでしょうか?あったら教えてください。
コンパイル時に決定している配列の長さを求めるにはsizeof演算子を使って全体のバイト長とその配列の要素のバイト長を求めて計算します。
size_t length = sizeof(k)/sizeof(k[0]);
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: lengthの使い方(初心者です)
C++はJavaやC#など他の言語と違い基本型や配列に残念ながらプロパティはありません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。