• 締切済み

コンパイルエラー、record関係

type stype = record case k : 1, 2 of 1 : iinfo : integer; 2 : cinfo : char; end; という文を書いたのですが(まだ続きますが) program2.pp(4,17) Error: Error in type definition program2.pp(4,17) Error: Ordinal expression expected program2.pp(4,17) Fatal: Syntax error, "OF" expected but "," found というエラーが起こりました。 pp(4,17)というのは”case k : 1, 2 of”文のことです。 このrecordの目的は integerとcharを格納することができる配列を設定するためです。 教授がこの文を使えばできると教えてくれたのですが、できません。 回答よろしくおねがいします。

みんなの回答

noname#77845
noname#77845
回答No.2

#1です。 Pascalですか? type stype = record  case k : integer of   1 : (iinfo : integer);   2 : (cinfo : char);  end; で、どうでしょう?

se7a
質問者

お礼

回答ありがとうございます。 先ほど教授からメールがあり、 case k: 1..2 of とするとのことでした。 またこのプログラム関係で質問すると思いますがよろしくおねがいします。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
noname#77845
noname#77845
回答No.1

補足してください。 ・何の言語?

se7a
質問者

お礼

言語はPascalです。 説明不足ですいません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • WinMainのコンパイルについて

    こんにちわ。 某動画のまねをしてテトリスの作成に取り掛かっているのですが、最初から躓いてしまい困っています。 ◆現象 コンパイル時にWinMainが再宣言されているというような内容のエラーが出てしまい、コンパイルに失敗する D:\tetris>gcc -mwindows tetris.cpp tetris.cpp:18: error: `int WinMain' redeclared as different kind of symbol C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winbase.h:1109: error: previous declaration of `int WinMain(HINSTANCE__*, HINSTANC E__*, CHAR*, int)' tetris.cpp:18: error: declaration of `int WinMain' C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winbase.h:1109: error: conflicts with previous declaration `int WinMain(HINSTANCE_ _*, HINSTANCE__*, CHAR*, int)' tetris.cpp:18: error: `HINSTANSCE' was not declared in this scope tetris.cpp:18: error: expected primary-expression before "hPrevInst" tetris.cpp:18: error: expected primary-expression before "cmdLine" tetris.cpp:18: error: expected primary-expression before "int" tetris.cpp:18: error: initializer expression list treated as compound expression tetris.cpp:18: error: expected `,' or `;' before '{' token ◆環境 OS:Windows コンパイラ:MinGW ◆問題個所のソース int WinMain(HINSTANSCE hInst, HINSTANCE hPrevInst, LPSTR cmdLine, int cmdShow){ WinMainの宣言個所はここだけなのでエラーの意味がよくわからず、色々と調べてみましたが原因はよくわかりませんでした。 Win32APIについてはあまり詳しくないので(C++の原因かもしれませんが)解説できる方がいらっしゃったらご回答願います。

  • C言語 どこがコンパイルエラーか解りません。

    いつも大変お世話になっております。 標記の件。 どこがエラーなのか解りません。 2時間くらい、にらめっこが続いています。 どこがエラーなのか教えて下さい。 ご回答のほどよろしくお願い申し上げます。 コード #include <stdio.h> int a = 0; void func(void) { int c = 2; printf("func関数では変数aとcが使えます。¥n”); printf("変数aの値は%dです。\n",a); /*printf("変数bの値は%dです。\n",b);*/ printf("変数cの値は%dです。\n",c); } int main(void) { int b = 1; printf("main関数では変数aとbが使えます。\n"); printf("変数aの値は%dです。\n", a); printf("変数bの値は%dです。\n", b); /*printf("変数cの値は%dです。\n", c); */ func(); return 0; } コンパイルエラー printf("func関数では変数aとcが使えます。¥n”); ^ text10.c:9:8: error: missing terminating " character printf("func関数では変数aとcが使えます。¥n”); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ text10.c:10:34: error: expected ')' before ';' token printf("変数aの値は%dです。\n",a); ^ text10.c:10:1: warning: passing argument 1 of 'printf' makes pointer from integer without a cast [-Wint-conversion] printf("変数aの値は%dです。\n",a); ^~~~~~ In file included from text10.c:1:0: c:\mingw\include\stdio.h:454:38: note: expected 'const char *' but argument is of type 'int' _CRTIMP __cdecl __MINGW_NOTHROW int printf (const char *, ...); ^~~~~~ text10.c:13:1: error: expected ';' before '}' token } どうかよろしくお願いいたします。

  • mikroC PRO for PICでのエラー

    http://www8.plala.or.jp/InHisTime/LABO-028/ymz294.c 上記のプログラムを組むと下記のエラーが出てしまいます。 ・87 380 Arguments cannot have explicit memory specificator fwamima1.c ・92 402 ; expected, but '1' found fwamima1.c ・92 424 '}' expected ';' found fwamima1.c ・154 324 Undeclared identifier 'setTone' in expression fwamima1.c ・159 407 'case' out of switch fwamima1.c ・160 424 '}' expected ';' found fwamima1.c 左の数字は「LINE」右の数字は「メッセージナンバー」です。 どこが間違っているのかおしえていただけないでしょうか?よろしくお願いします。

  • Pascalの可変レコードをC言語で表現したい。

    Pascalの可変レコード型のプログラムをC言語で表現したいのですが 調べた所、共用体(Union)を使えばよいと見つけました。 しかし、どのように対応すればいいのかよく理解ができず困っています。 以下のプログラムをC言語で表現すると、どのようになるのか ご教授していただけないでしょうか。よろしくお願いします。 type Person = record name,firstname: alfa; birthdate: Date; marstatus: (single,married,widowed,divorced); case sex: (male,female) of male: (weight: real;   bearded: Boolean); female: (size: array[1...3] of integer) end

  • fortran sqrtコンパイルエラー

    プログラムを書き直していて以下の様なエラーが出てしまいます。 以前sqrt関数を書いたときは以下の様なエラーは出てこなかったのですが、最近やたらFunctionのエラーがよく出ます。コンパイルに問題があるのでしょうか?自分のコンパイルを調べるにはどうしたらわかるのでしょうか?よろしくお願いします。 In file init.f90:52 rf = sqrt((nx-5)**2+(ny-5)**2+(nz-5)**2) 1 Error: Type of argument 'x' in call to 'sqrt' at (1) should be REAL(4), not INTEGER(4) In file init.f90:52 rf = sqrt((nx-5)**2+(ny-5)**2+(nz-5)**2) 1 Error: Function 'sqrt' at (1) has no implicit type

  • D言語の連想配列の配列

    D言語で連想配列の配列を使いたいのですが、 以下のソースをコンパイルするとコンパイルエラーが起きます。なにがいけないのでしょうか。 int main(char[][] args) { int[3][char[]] x; x[0]["abc"]=1; return 0; } エラーメッセージ test.d(4): cannot implicitly convert expression 0 of type int to char[] test.d(4): cannot implicitly convert expression "abc"i of type char[3] to int

  • DELPHI 5でコンパイルできたソースがDELPHI 6でコンパイルできない

    DELPHI 5(英語版)でコンパイルできたソースが、DELPHI 6(personal、無償版、日本語版)でコンパイルをしようとするとエラーが出てコンパイルできません。一般的に、5から6へ移行する際に注意することがありますでしょうか?あるいは、英語版と日本語版で異なるという可能性はありますでしょうか? ソースの一部は以下の通りです。 ********** IMPLEMENTATION USES Windows, Messages, Dialogs, FileCtrl; CONST BUFLEN = 10240; FindSortMax = 1024; SHIFT_RECHTS = 1; (* Flags f・ Sondertasten *) SHIFT_LINKS = 2; (* Flags f・ Sondertasten *) CTRL = 4; (* Flags f・ Sondertasten *) ALT = 8; (* Flags f・ Sondertasten *) SCROLL = 16; (* Flags f・ Sondertasten *) NUM_LOCK = 32; (* Flags f・ Sondertasten *) CAPS_LOCK = 64; (* Flags f・ Sondertasten *) TYPE BufAr = ARRAY [1..BUFLEN] OF BYTE; TextFiles = RECORD open : BOOLEAN; Name : STRING[255]; buffer : ^BufAr; END; Zeichen = RECORD C : CHAR; A : BYTE; END; Screen = ARRAY [1..25] OF ARRAY [1..80] OF Zeichen; (* Entspricht der EGA/VGA Bildschirmstruktur *) VAR TF : ARRAY[1..MAXFILES] OF TextFiles; i : INTEGER; VGA : Screen ABSOLUTE $0B800; (* VGA-Screen-Adresse *) sommerzeit : BOOLEAN; stmp : STRING; FindSortNr : INTEGER; FindSortP : INTEGER; FindSortRecs: ARRAY[1..FindSortMax] OF ^TSearchRec; ActTextForeGround, ActTextBackGround : BYTE; ********** エラーは、「VGA : Screen ABSOLUTE $0B800; (* VGA-Screen-Adresse *)」の行にて、  [エラー] Alib.pas(605): 変数名が必要です と言うエラーが出ます。 他人からもらったソースの為、問題を簡略化して示すことができないのですが、もし上記の情報だけで何かしら問題点があるようでしたらお教えいただければ幸いです。

  • C++のboostのtokenizerのエラー

    現在C++でboostを使用して、テキストファイルから読み込んだ1行分のテキストをtokenizerでセパレーションして、文字列を編集したいと考えています。 それで、次のようなプログラムを作成しました。 char_separator<char> sep(" "); tokenizer< char_separator<char> > tokens( record, sep ); typedef tokenizer< char_separator<char> >::iterator Iter; for( Iter it=tokens.begin(); it!=tokens.end(); ++it ) record = *it + ","; 1行分の文字列は”record”に入っています。 最初に”---------------------------------------------------”という文字列が読み込まれて、このプログラムでは正常に処理されて、 ”---------------------------------------------------”で変化はありませんがrecordに正常に格納されます。 しかし、次の行の”001. リモート, 2012/06/12 09:15:49”というのを読み込んだ際に、for文でカンマで区切られた文字列をrecordに格納する際にエラーが出てデバッグが中断してしまいました。 このようなプログラムでの問題点と解決方法を教えて頂けないでしょうか。 どうぞ、よろしくお願いします。

  • コンパイルエラーの原因がわからず困っています。

    こんにちわ。いつもお世話になっております。 自分で構造体を定義して、それを使ってみたのですがコンパイルエラーが出てしまいます。何がいけないのでしょうか。 以下がそのプログラムです。 struct list { struct list *prev; struct in_addr ip_src, ip_dst; u_short th_sport; u_short th_dport; struct list *next; }; void main (u_char * args, const struct pcap_pkthdr *header, const u_char * packet) { static int count = 1; const sturct list *flow; return; } 以上です。 エラー内容は test.c: In function ‘main’: test.c:17: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘list’ test.c:17: error: ‘list’ undeclared (first use in this function) test.c:17: error: (Each undeclared identifier is reported only once test.c:17: error: for each function it appears in.) test.c:17: error: ‘flow’ undeclared (first use in this function) 以上です。 どんな些細な意見でも構いませんので、何か気が付かれたら教えて頂けないでしょうか。どうぞよろしくお願いします。

  • コンパイル後のエラー。

    こんにちは、質問があります。 下のプログラムを組みました。 コンパイルには成功しましたが、実行することができません。 import java.io.*; public class Gyouretu { public static void main(String[] args) { BufferedReader reader = new BufferedReader( new InputStreamReader(System.in), 1); try{ System.out.println("行列数を入力"); String line = reader.readLine(); int n = Integer.parseInt(line); int a[][] = new int[n][n]; int b[][] = new int[n][n]; int c[][] = new int[n][n]; int i,j,k; for ( i = 0; i < n; i++){ for ( j = 0; j < n; j++){ c[i][j]=0; for ( k = 0; k < n; k++){ c[i][j] += a[i][k] * b[k][j]; System.out.print(c); System.out.print(i); System.out.print(j); } } } }catch (IOException e){ System.out.println("end"); } } } 行列の計算をするプログラムなのですが、コンパイル後に行列数(何行何列か?)を入力するとこんなエラーが出ます。 「'2' は、内部コマンドまたは外部コマンド、  操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 なぜなのか、どうしてもわかりません。 よろしくお願いします。

    • ベストアンサー
    • Java
このQ&Aのポイント
  • 手袋の手首部分への刺繍の方法について相談です。
  • 手袋の手首部分への刺繍のために必要なサイズや厚みについて教えてください。
  • 手袋の手首部分への刺繍に適した刺繍枠や方法について教えてください。
回答を見る