C++ C++;未读取my%运算符(错误:与';运算符%';不匹配)
Comp Sci 201的学生,在这个实验室里遇到了很多麻烦。我确信我在这一点上是正确的,但它不断地抛出我的代码,引用了%,但我不理解为什么它不起作用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
//完成所有包含的操作。别忘了我们用的是向量和字符串
#包括
#包括
#包括
#包括
使用名称空间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当然,很高兴我的愚蠢可以在将来帮助别人=)