C++ 为什么它说表达式必须有指向对象类型的指针?我不知道';我不想使用指针。只有二维阵列,一切都不那么复杂
除了函数末尾的upalph函数外,我没有其他问题。 我分配数组边距的部分,以及我打印的下一行。错误出现在列下。它说表达式必须有一个指向对象类型的指针C++ 为什么它说表达式必须有指向对象类型的指针?我不知道';我不想使用指针。只有二维阵列,一切都不那么复杂,c++,visual-c++,C++,Visual C++,除了函数末尾的upalph函数外,我没有其他问题。 我分配数组边距的部分,以及我打印的下一行。错误出现在列下。它说表达式必须有一个指向对象类型的指针 #include <string> using namespace std; const int BL = 19; int siders = 8; void upalph(); //void sideNum(string boardBorder[BL][BL]) //{ // for (int ROW = 0; ROW < B
#include <string>
using namespace std;
const int BL = 19;
int siders = 8;
void upalph();
//void sideNum(string boardBorder[BL][BL])
//{
// for (int ROW = 0; ROW < BL; ROW++)
// {
// for (int COL = 0; COL < BL; COL++)
// {
// if (ROW >= 2 && ROW <= 16 && COL == 18 || ROW >= 2 && ROW <= 16 && COL == 0)
// {
// boardBorder[ROW][COL] = (int)siders; siders--;
// cout << boardBorder[ROW][COL];
// }
// }
// }
//}
void main()
{
string boardBorder[BL][BL];
for (int ROW = 0; ROW < BL; ROW++)
{
for (int COL = 0; COL < BL; COL++)
{
if (ROW >= 1 && ROW <= 17 && COL == 1 || ROW >= 1 && ROW <= 17 && COL == 17)
{
boardBorder[ROW][COL] = "|";
}
else if (ROW >= 1 && ROW % 2 == 0 && COL >= 2 && COL % 2 != 0 && ROW <= 17 && COL <= 16)
{
boardBorder[ROW][COL] = "|";
}
else if (ROW >= 1 && ROW % 2 != 0 && COL >= 2 && COL % 2 != 0 && ROW <= 17 && COL <= 16)
{
boardBorder[ROW][COL] = "+";
}
else if (ROW >= 1 && ROW % 2 != 0 && COL >= 2 && COL % 2 == 0 && ROW <= 17 && COL <= 16)
{
boardBorder[ROW][COL] = "-";
}
//else if (ROW >= 2 && ROW <= 16 && COL == 18 || ROW >= 2 && ROW <= 16 && COL == 0)
//{
// boardBorder[ROW][COL] = sideNum; sideNum--;
//}
else
boardBorder[ROW][COL] = " ";
}
}
upalph(boardBorder[BL][BL]);
//sideNum(boardBorder);
for (int ROW = 0; ROW < BL; ROW++)
{
for (int COL = 0; COL < BL; COL++)
{
if (COL == 0)
cout << endl;
cout << " " << boardBorder[ROW][COL];
}
}
cout<<endl<<endl;
}
void upalph(string boardBorder)
{
for (int ROW = 0; ROW < BL; ROW++)
{
for (int col = 0; col < BL; col++)
{
if (ROW >= 2 && ROW <= 16 && col == 18 || ROW >= 2 && ROW <= 16 && col == 0)
{
boardBorder[ROW][col] = (int)siders; siders--;
cout << boardBorder[ROW][col];
}
}
}
}
#包括
使用名称空间std;
常数int BL=19;
内侧=8;
void upalph();
//void sideNum(字符串boardBorder[BL][BL])
//{
//for(int行=0;行 //如果(ROW>=2&&ROW=2&&ROW=2&&COL%2!=0&&ROW=2&&COL%2!=0&&ROW=2&&COL%2==0&&ROW首先声明upalph
不带任何参数,然后调用它来传递一个参数。并且传递的值超出了数组的界限。更不用说在upalph
函数中使用std::string
对象作为矩阵,但它不是。我不确定你想做什么,但你似乎跳过了课堂上的一些课程,或者书中的几章。upalph(boardBorder[BL][BL]);
-但是,你之前声明该函数为void upalph()
不带参数。这没有任何意义。另外,请记住,C样式数组很容易衰减为指针。也许您真正想要的是std::array
或std::vector
。。