Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
逻辑或语法错误?C++_C++ - Fatal编程技术网

逻辑或语法错误?C++

逻辑或语法错误?C++,c++,C++,rVals[]是一个动态数组,设置正确。无论输入是什么,if语句的计算结果似乎都是false。if语句有什么问题?看看这个:rVals[i]

rVals[]是一个动态数组,设置正确。无论输入是什么,if语句的计算结果似乎都是false。if语句有什么问题?

看看这个:rVals[i]请提供一个示例程序,理想情况下可运行,这显示了如何分配和填充rVals,以及在何处初始化有效。请缩进您的代码如何正确设置rVals?嗯。。这个问题不是很简单吗?如果它编译它的逻辑,如果编译器说语法错误它的语法,不是吗?在循环的最后一次迭代中,rVals[i+1]将超过长度。为什么这会使它总是计算为false?它不会计算为false。相反,它会导致应用程序崩溃,或者更严格地说是“分段错误”
int rVals[];
string rNum;

for (i=0; i < rNum.length(); ++i) {
    if((rVals[i] < rVals[i+1]) && (rNum[i] =='C' || rNum[i]=='X' || rNum[i]=='I')){
        continue; //checks to see if preceeding value is < the next value
    } else {
        valid = false;
        cout << "you can't subtract by M, D, L, or V\n" << endl;
        break;
    }
}