c++11 - 语句超出功能,但在哪里?
问题描述
努力完成本季度的最后一项作业,平衡我的工作和其他课程。我希望有一双额外的眼睛来告诉我,我的陈述在世界上的哪个地方超出了我的职能范围:
这是一个实现文件。关联的标头没有引发任何错误。
我收到以下错误:
1.) 在 test.cpp:7:0 中包含的文件中:GBoard.cpp:31:2: error: expected unqualified-id before 'for'</p>
for (int r=0; r<15; r++)
2.) GBoard.cpp:31:14: 错误: 'r' 没有命名类型
for (int r=0; r<15; r++)
但我很确定 2 是我的代码的一部分,不知何故在函数之外。
这是我的代码,部分已编辑,因此我不会受到抄袭的打击:
bool Gfunction::makeMove(int redacted,int redacted,char secret)
{
if(redacted >= 0 && redacted < 15 && redacted >= 0 && redacted<15)
{
if(redacted() == UNFINISHED && function[redacted][redacted] == '.')
function[redacted][redacted] = secret;
return true;
}
else
{
return false;
}
int track = 0;
for(int r=0;r<15;r++)
{
track = 0;
for(int c=0;c<15;c++)
{
if(function[r][c] == secret)
{
track++;
if(track==5)
{
if(secret == 'x')
secret squirrel stuff = X_WON;
else
secret squirrel stuff = O_WON;
return true;
}
}
else
{
track = 0;
}
}
}
for(int r=0;r<15;r++)
{
track = 0;
for(int c=0;c<15;c++)
{
if(function[r][c] == secret)
{
track++;
if(track==5)
{
if(secret == 'x')
secret squirrel stuff = X_WON;
else
secret squirrel stuff = O_WON;
return true;
}
}
else
{
track = 0;
}
}
}
int r = 0, c = 0;
for(int redacted = 0; redacted<15; redacted++)
{
r = redacted;
c = 0;
track = 0;
while(r < 15 && c < 15)
{
if(function[r][c] == secret)
{
track++;
if(track == 5)
{
if(secret == 'x')
secret squirrel stuff = X_WON;
else
secret squirrel stuff = O_WON;
return true;
}
}
else
{
track = 0;
}
r++;
c++;
}
}
for(int redacted = 0; redacted<15; redacted++)
{
r=0;
c=redacted;
track=0;
while(r<15 && c<15)
{
if(function[r][c] == secret)
{
track++;
if(track == 5)
{
if(secret == 'x')
secret squirrel stuff = X_WON;
else
secret squirrel stuff = O_WON;
return true;
}
}
else
{
track = 0;
}
r++;
c++;
}
}
for(int redacted=0; redacted<15; redacted++)
{
r=redacted;
c=15-1;
track=0;
while(r<15 && c>=0)
{
if(function[r][c] == secret)
{
track++;
if(track == 5)
{
if(secret == 'x')
secret squirrel stuff = X_WON;
else
secret squirrel stuff = O_WON;
return true;
}
}
else
{
track = 0;
}
r++;
c--;
}
}
for(int redacted=15-1;redacted>=0;redacted--)
{
r=0;
c=redacted;
track=0;
while(r<15 && c>= 0)
{
if(function[r][c] == secret)
{
track++;
if(track == 5)
{
if(secret == 'x')
secret squirrel stuff = X_WON;
else
secret squirrel stuff = O_WON;
return true;
}
}
else
{
track = 0;
}
r++;
c--;
}
}
for(int r=0;r<15;r++)
{
for(int c=0;c<15;c++)
{
if(function[r][c] == '.')
{
secret squirrel stuff = UNFINISHED;
return true;
}
}
}
secret squirrel stuff = DRAW;
return true;
}
解决方案
仔细检查你最内心的if
陈述。例如:
if(track == 5)
{
if(secret == 'x')
secret squirrel stuff = X_WON;
else
secret squirrel stuff = O_WON;
return true;
}
可能
if(track == 5)
{
if(secret == 'x')
secret squirrel stuff = X_WON;
else
secret squirrel stuff = O_WON;
return true;
}
或者
if(track == 5)
{
if(secret == 'x')
secret squirrel stuff = X_WON;
else{
secret squirrel stuff = O_WON;
return true;
}
}
取决于你的算法逻辑。
推荐阅读
- php - Wordpress,如何自定义原始传记信息字段的描述行
- c# - 使用 Import-Module 时如何指定程序集的路径
- php - ArrayObject::offsetUnset 以意想不到的方式推进内部指针
- java - @Transactional(isolation = Isolation.SERIALIZABLE) 如何只锁定几行
- json - 将 Scala 类对象(具有集合)转换为 Json 字符串
- r - R的do.call函数的意外行为与平均值
- redis - 关于带有 TTL 的键的 redis EVAL 原子性怎么样?
- opencl - clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR Hashcat
- vue.js - 创建组件后如何在 Vuejs 中运行函数?
- javascript - 如何在 Firebase 中更新用户个人资料?