我用c ++创建一个表。我有一个具有表技能的课程。我想获得带有函数的方形表的内存,但我不知道应该如何编写构造函数和内存分配函数。
我从键盘获得大小,我想为另一个分配内存的函数提供这个return语句。表必须是二维数组[] []或矩阵。
#include <iostream>
using namespace std;
class Table {
unsigned int size;
public:
unsigned int GetTableSize();
unsigned int *GetMemory(unsigned int);
};
unsigned int Table::GetTableSize() {
cout << "Give size: " << endl;
cin >> size;
return size;
}
unsigned int *Table::GetMemory(unsigned int s){
s = size;
return new unsigned int[s * s];
}
int main()
{
Table tab;
tab.GetTableSize();
tab.GetMemory();
return 0;
}
* GetMemory函数必须返回表的内存大小。我有tab.GetMemory的问题。我试过tab。* GetMemory。
tab * GetMemory:QT创建者说:未声明GetMemory。 tab.GetMemory:Qt创建者说:不匹配函数调用'Table :: Getmemory'。
答案 0 :(得分:3)
首先你的问题不是那么明确,我想告诉你在Qt中遇到的错误。
在您的代码中,您没有在下面的行中传递任何值 “tab.GetMemory();”
你的函数如何期望无符号整数值。
我建议您修改以下代码段,如下所示
您的密码:
unsigned int *Table::GetMemory(unsigned int s){
s = size;
return new unsigned int[s * s];
}
修改后的代码:
unsigned int *Table::GetMemory(){
//s = size;
return new unsigned int[size * size];
}
希望能帮助。