c++ - 在矩阵对象 C++ 上移动时出现索引错误
问题描述
我正在尝试通过迭代将单词拟合到矩阵中,但是当我输入 row = 0 时,该函数会尝试在 while 循环中检查 arbit_mat[r][c - 1] == '-'并给出错误。我该如何解决这个问题?
if (rotation == "CW")
{
switch (direction[0]) {
case 'l':
// left situation
while ((c - 1 >= 0) & (arbit_mat[r][c - 1] == '-')) {
arbit_mat[r][c - 1] = word[idx];
idx++;
c--;
printMatrix(arbit_mat);
if (idx == word.length())
{
return arbit_mat;
}
if (c == 0)
{
break;
}
}
我在循环中编写了一个 if 语句来解决问题,但是当行以 0 开头时,它会给出以下错误:
向量下标超出范围!
感谢您的贡献。
解决方案
你要
while ((c - 1 >= 0) && (arbit_mat[r][c - 1] == '-')) {
& 是按位与运算符
&& 是逻辑与运算符
推荐阅读
- r - 跨数据框中的 3 列应用函数仅返回一列
- python - 如何从熊猫的字典列中提取值?
- artifactory - 如何获得有关 JFrog Artifactory Pro 安全更新的通知?
- winforms - 选择默认选定文本时自动关闭 $form.ShowDialog()
- powershell - “您不能在空值表达式上调用方法。” 尝试接收在后台作业中运行的更新搜索器的结果时
- python - 带有 Numpy 混乱的硬币翻转
- ruby-on-rails - 捆绑安装和迁移后的rails错误
- c# - 为什么几分钟后用户不再是活动目录组的成员?
- javascript - 函数参数是如何隐式初始化的?
- c++ - 提升精神:将结果复制到字符串向量中