表示: Delphi
C++
表示設定
W1014: string[%ld] に収まるように文字列定数が丸められました (Delphi)
提供:RAD Studio XE2
エラーと警告のメッセージ(Delphi):インデックス への移動
文字列定数を変数に代入しようとしましたが,変数の大きさがその文字列全体を入れるには十分ではありません。コンパイラは変数に収まるようにリテラルを切り捨てたことを警告しています。
program Produce;
(*$WARNINGS ON*)
const
Title = 'Super Galactic Invaders with Turbo Gungla Sticks';
Subtitle = 'Copyright (c) 2002 by Frank Borland';
type
TitleString = String[25];
SubtitleString = String[18];
var
ProgramTitle : TitleString;
ProgramSubtitle : SubtitleString;
begin
ProgramTitle := Title;
ProgramSubtitle := Subtitle;
end.
{ 2 つの文字列定数が変数へ代入されるが,それらの変数は文字列全体を入れるには短すぎる。コンパイラは文字列の末尾を切り捨てて代入を実行する }
program Solve;
(*$WARNINGS ON*)
const
Title = 'Super Galactic Invaders with Turbo Gungla Sticks';
Subtitle = 'Copyright (c) 2002';
type
TitleString = String[55];
SubtitleString = String[18];
var
ProgramTitle : TitleString;
ProgramSubtitle : SubtitleString;
begin
ProgramTitle := Title;
ProgramSubtitle := Subtitle;
end.
{ この問題の解決方法は 2 つあり,この例では両方を示す。最初の解決方法では文字列を保持する変数のサイズを大きくする。2 番めの解決方法では宣言した変数サイズに合わせて文字列のサイズを小さくする }