gpt4 book ai didi

字符串 CONSTRAINT_ERROR 长度检查失败

转载 作者:行者123 更新时间:2023-12-05 09:23:23 25 4
gpt4 key购买 nike

我有一个数组,最多包含 20 个字符的字符串:

subtype c_string is string(1..20);
type string_array is array (natural range 1..100) of c_string;

当我尝试将字符串分配给 string_array 的某个位置时,如果该字符串的长度不正好是 20 个字符,则会出现以下错误:

raised CONSTRAINT_ERROR : (...) length check failed

这是导致问题的代码行:

str_a: string_array;
(....)
str_a(n) := "stringToAssign" --Causes error

避免这种情况的最佳方法是什么?

最佳答案

您的c_string 不能最多 20 个字符;它包含 正好 20 个字符,因此是 CE。

你可以使用 Ada.Strings.Bounded如果有一个上限很重要,或者Ada.Strings.Unbounded如果你真的不在乎。

有界的情况下,会是这样的

package B_Strings is new Ada.Strings.Bounded.Generic_Bounded_Length (Max => 20);
type String_Array is array (1 .. 200) of B_Strings.Bounded_String;

然后

Str_A : String_Array;
Str_A (N) := B_Strings.To_Bounded_String (“stringToAssign”);

Ada Wikibook 中还有更多内容.

关于字符串 CONSTRAINT_ERROR 长度检查失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22178369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com