调用带有指针对象错误的指针变量
calling a pointer variable with pointer object error
"让你知道Kova=Bucket这个用土耳其语写的代码。">
#include<iostream>
#include<vector>
using namespace std;
class Kova
{
public:
void KovaCizdir(const char *dizi[6][6])
{
dizi[0][0] = "";
dizi[0][1] = "";
dizi[0][2] = ".";
dizi[0][3] = "|";
dizi[0][4] = ".";
dizi[0][5] = "";
dizi[0][6] = "";
dizi[1][0] = "";
dizi[1][1] = ".";
dizi[1][2] = "";
dizi[1][3] = "";
dizi[1][4] = "";
dizi[1][5] = ".";
dizi[1][6] = "";
dizi[2][0] = ".";
dizi[2][1] = "";
dizi[2][2] = "";
dizi[2][3] = "";
dizi[2][4] = "";
dizi[2][5] = "";
dizi[2][6] = ".";
dizi[3][0] = "#";
dizi[3][1] = "";
dizi[3][2] = "";
dizi[3][3] = "";
dizi[3][4] = "";
dizi[3][5] = "";
dizi[3][6] = "#";
dizi[4][0] = "#";
dizi[4][1] = "";
dizi[4][2] = "";
dizi[4][3] = "-";
dizi[4][4] = "";
dizi[4][5] = "";
dizi[4][6] = "#";
dizi[5][0] = "#";
dizi[5][1] = "";
dizi[5][2] = "";
dizi[5][3] = "";
dizi[5][4] = "";
dizi[5][5] = "";
dizi[5][6] = "#";
dizi[6][0] = "#";
dizi[6][2] = "#";
dizi[6][3] = "#";
dizi[6][4] = "#";
dizi[6][5] = "#";
dizi[6][6] = "#";
};
void KovaOlustur(int kovaSayisi)
{
for (int t = 0; t < kovaSayisi; t++)
{
char *Kovalar[6];
for (int i = 0; i < 7; i++)
{
Kovalar[i] = new char[6];
}
}
};
};
int main()
{
int kovaSayisi;
cout << "Kova Sayisi : ";
cin >> kovaSayisi;
Kova *kova = new Kova();
kova->KovaOlustur(kovaSayisi);
kova->KovaCizdir(*Kovalar[6][6]);
}
标识符"Kovalar"未定义错误我怎么能解决这个问题呢?我不太会用指针。我试图用指针制作一个bucket形状,稍后用户可以更改bucket的字段并更改它们的编号。它可以包括许多逻辑错误,我想知道所有的
根据您的代码-Kovalar是KovaOlustur
方法的局部变量,因此它对外部世界不可见。除此之外,您提供的代码中还有一些小缺陷,让我帮助您纠正它们:
#include<iostream>
#include<vector>
using namespace std;
class Kova
{
private:
char *Kovalar[6]; // make the Kovalar a member variable of the class
public:
Kova(int kovaSayisi) {
KovaOlustur( kovaSayisi);
// otherwise you can move the whole code of KovaOlustur code here like:
/* for (int t = 0; t < kovaSayisi; t++)
{
for (int i = 0; i < 7; i++)
{
Kovalar[i] = new char[6];
}
}*/
}
void KovaCizdir() // no parameters required, as the data is now a member variable
{
// anything in double quote "" is treated as a const char* in c/c++
// but you are trying to access the Kovalar with 2 indices which make that to be
// char - so change the double quotes "" to single quotes ''
Kovalar[0][0] = ' ';
Kovalar[0][1] = ' ';
Kovalar[0][2] = '.';
Kovalar[0][3] = '|';
Kovalar[0][4] = '.';
Kovalar[0][5] = ' ';
Kovalar[0][6] = ' ';
Kovalar[1][0] = ' ';
Kovalar[1][1] = '.';
Kovalar[1][2] = ' ';
Kovalar[1][3] = ' ';
Kovalar[1][4] = ' ';
Kovalar[1][5] = '.';
Kovalar[1][6] = ' ';
Kovalar[2][0] = '.';
Kovalar[2][1] = ' ';
Kovalar[2][2] = ' ';
Kovalar[2][3] = ' ';
Kovalar[2][4] = ' ';
Kovalar[2][5] = ' ';
Kovalar[2][6] = '.';
Kovalar[3][0] = '#';
Kovalar[3][1] = ' ';
Kovalar[3][2] = ' ';
Kovalar[3][3] = ' ';
Kovalar[3][4] = ' ';
Kovalar[3][5] = ' ';
Kovalar[3][6] = '#';
Kovalar[4][0] = '#';
Kovalar[4][1] = ' ';
Kovalar[4][2] = ' ';
Kovalar[4][3] = '-';
Kovalar[4][4] = ' ';
Kovalar[4][5] = ' ';
Kovalar[4][6] = '#';
Kovalar[5][0] = '#';
Kovalar[5][1] = ' ';
Kovalar[5][2] = ' ';
Kovalar[5][3] = ' ';
Kovalar[5][4] = ' ';
Kovalar[5][5] = ' ';
Kovalar[5][6] = '#';
Kovalar[6][0] = '#';
Kovalar[6][2] = '#';
Kovalar[6][3] = '#';
Kovalar[6][4] = '#';
Kovalar[6][5] = '#';
Kovalar[6][6] = '#';
// otherwise you can also write like this:
/*Kovalar[0] = " ./. ";
Kovalar[1] = " . . ";
Kovalar[2] = ". .";
Kovalar[3] = "# #";
Kovalar[4] = "# - #";
Kovalar[5] = "# #";
Kovalar[6] = "#######"; */
}
void KovaOlustur(int kovaSayisi)
{
for (int t = 0; t < kovaSayisi; t++)
{
for (int i = 0; i < 7; i++)
{
Kovalar[i] = new char[6];
}
}
}
};
int main()
{
int kovaSayisi;
cout << "Kova Sayisi : ";
cin >> kovaSayisi;
Kova *kova = new Kova(kovaSayisi); // here the variable kovaSayisi is not at all used, you can eliminate that
//kova->KovaOlustur(kovaSayisi); /* now no need of this call because this is done in the constructor itslef
kova->KovaCizdir(); // no need of passing the parameter, becuase the data is now a member of the class itself
}
我提供了内联评论供您理解,希望这能帮助并解决您的问题。
谢谢,
Rajkumar
相关文章:
- 指针变量在 cout 函数中不起作用
- 如何将指针变量作为引用参数传递?
- 有没有办法在同名类 (c++) 中为对象分配一个指针变量
- 我试图了解在异或操作后指针变量正在更改
- 调用带有指针对象错误的指针变量
- 如何在 cuda 中将结构的指针变量从主机复制到设备
- 非指针变量和类成员上的新放置
- 线路抑制状态错误 C4703 可能未初始化的局部指针变量"back"已使用
- 全局外部指针变量在 DLL 中不可见
- 如何访问在 c++ 中在类内声明的结构类型指针变量?
- C++ 中指针变量的内存释放
- 使用指针变量打印特定的数组变量
- 如何使用构造函数初始化内存地址(指针变量)?
- 如何释放为指针变量本身提供的内存?
- 如果地址已知,如何获取指针变量的名称
- 如何处理参数中的基类和指针变量
- 指针变量 在数组中定位零
- 隐式指针变量,在自动定义中具有另一个指针变量
- 为什么可以将Char指针变量初始化为字符串,而INT指针变量不能初始化到整数数组
- 错误 C4703 可能未初始化的局部指针变量'y'使用