Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.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++;未读取my%运算符(错误:与';运算符%';不匹配)_C++ - Fatal编程技术网

C++ C++;未读取my%运算符(错误:与';运算符%';不匹配)

C++ C++;未读取my%运算符(错误:与';运算符%';不匹配),c++,C++,Comp Sci 201的学生,在这个实验室里遇到了很多麻烦。我确信我在这一点上是正确的,但它不断地抛出我的代码,引用了%,但我不理解为什么它不起作用 //完成所有包含的操作。别忘了我们用的是向量和字符串 #包括 #包括 #包括 #包括 使用名称空间std; 无符号userNum=0; int main(){ //步骤1:创建一个向量 向量细胞; 对于(int i=0;i>userNum; srand(userNum); 对于(int d=0;d

Comp Sci 201的学生,在这个实验室里遇到了很多麻烦。我确信我在这一点上是正确的,但它不断地抛出我的代码,引用了%,但我不理解为什么它不起作用

//完成所有包含的操作。别忘了我们用的是向量和字符串
#包括
#包括
#包括
#包括
使用名称空间std;
无符号userNum=0;
int main(){
//步骤1:创建一个向量
向量细胞;
对于(int i=0;i<20;++i){
cellNum.推回(“x”);
}
{
cin>>userNum;
srand(userNum);
对于(int d=0;d<10;++d){
对于(int i=0;i<20;++i){
如果(rand()%2==0){
cellNum.at(i)=”;
}
否则{
cellNum.at(i)=“*”;
}
}
矢量细胞电阻器;
对于(int i=0;i<20;++i){
cellStor.推回(“x”);
}
对于(int i=0;i<20;++i){
int cellStatus=0;
整数向量大小;
如果(在(i)处的单元数=“*”){
cellStatus=cellStatus+1;
}
如果((cellNum.at((i-1)+vecSize)%vecSize)==“*”){
cellStatus=cellStatus+1;
}
如果((单元数在((i+1)%vecSize)=“*”)){
cellStatus=cellStatus+1;
}

请注意参数。
cellNum.at((i-1)+vecSize)%vecSize
超出数组界限,然后
%
操作是无意义的,因此会显示错误消息


看起来您需要
cellNum.at((i-1+vecSize)%vecSize)
,它对数组进行模索引。

cellNum
std::vector
所以
cellNum.at((i-1)+vecSize)
生成一个
std::string&
。没有为这种类型定义
%
运算符。顺便说一句,下次发布一篇文章,而不是你能找到的所有代码。我想我已经猜到了正确答案:)根据类似问题的经验,我想先发制人地要求你不要删除它。相信与否,其他人会发现它很有用t、 @Potatoswatter当然,很高兴我的愚蠢可以在将来帮助别人=)