我刚开始学习Free Pascal,我写了这个相当基本的程序来练习数组。我收到两个错误:
Strings.lpr(32,1)错误:未定义的符号:THREADVARLIST_STRINGS
Strings.lpr(32,1)错误:未定义的符号:STRINGS_STRPAS $ PCHAR $$ SHORTSTRING
Strings.lpr(32,1)致命:编译模块有2个错误,停止
代码如下:
program Strings;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes, SysUtils
{ you can add units after this };
{$R *.res}
var
Marks : array [1..10] of Integer;
index : Integer;
begin
for index:= 0 to 10 do
begin
write('Enter mark of student ',index,': ');
readln(marks[index]);
end;
for index := 0 to 10 do
begin
write('Student No. ',index,' Marks: ',marks[index],' ');
if marks[index]>65 then writeln('PASS')
else writeln('FAIL');
end;
writeln('Press any key to continue.');
readln;
end. {line 32}
答案 0 :(得分:3)
不要为程序字符串命名。有一个带有该名称的预编译单元。
通常意味着您创建主程序但不链接正确的RTL。
可能的原因:
答案 1 :(得分:0)
更改:
程序字符串;
为:
程序testStrings;
纠正错误。字符串是一个保留字。
此外,您还有“按任意键”,然后是readln。 readln等待回车。类似的东西:
WriteLn('按任意键继续。'); 重复 直到KeyPressed;
可能就是你要找的东西。