字符串下标超出范围.我不知道如何使用字符索引数组,所以我使用了(无符号整数),但它不起作用

String subscript out of range. I dont know how to index array with char, so i ussed (unsigned int), but it didnt worked

本文关键字:无符号整数 不起作用 我不知道 范围 何使用 字符串 数组 索引 字符 下标      更新时间:2023-10-16

这是我用来制作一个数组的代码,我试图用字符索引,但它向我返回了一个错误 字符串下标超出范围.

#define ALPHA (256)
#define MAX_PATLEN (100)
int betap[ MAX_PATLEN+1 ];
int Delta[ ALPHA ];
void makeDelta(std::string p, int m ) {
int i;
for( i = 0; i < ALPHA; ++i )
Delta[i] = m + 1;
for( i = 0; i < m; ++i )
Delta[(unsigned int) p[i] ] = m - i; 
}

字符串下标超出范围表示 [] 中的某些内容超出范围。这里也许没有定义 p[m]。我的意思是字符串 p 的长度小于 m。

相关文章: