C++ 对“静态成员函数内的静态类成员变量”的未定义引用';
实际上,我正在尝试实现一个分页模拟,在我的内存管理器中,我尝试创建一个静态页表,但当我试图打印它时,它给出了引用错误C++ 对“静态成员函数内的静态类成员变量”的未定义引用';,c++,static,static-methods,static-members,C++,Static,Static Methods,Static Members,实际上,我正在尝试实现一个分页模拟,在我的内存管理器中,我尝试创建一个静态页表,但当我试图打印它时,它给出了引用错误 #ifndef MEMORYMANAGER_H #define MEMORYMANAGER_H #include "memory.h" class MemoryManager { private: PhysicalMemory RAM; LogicalMemory VM; int offsetValue;
#ifndef MEMORYMANAGER_H
#define MEMORYMANAGER_H
#include "memory.h"
class MemoryManager
{
private:
PhysicalMemory RAM;
LogicalMemory VM;
int offsetValue;
static int ** pageTable;
public:
MemoryManager();
bool addProcess(TimeSliceRequest);
void printVirtualMemory();
/*
* Page Table Initialization
**/
static void initializePageTable(){
pageTable = new int * [pageSize];
for (int i=0; i<pageSize; i++) {
pageTable[i] = new int [2];
}
}
static int getPageTabe(int x, int y) {
return MemoryManager::pageTable[x][y]; // undefined reference to `MemoryManager::pageTable'
}
static void printPageTable(){
for(int i=0; i<pageSize; i++){
for(int j=0; j<2; j++) {
cout << getPageTabe(i,j);
}
cout << endl;
}
}
};
#endif // MEMORYMANAGER_H
\ifndef MEMORYMANAGER\u H
#定义内存管理器
#包括“memory.h”
类内存管理器
{
私人:
物理记忆RAM;
逻辑记忆虚拟机;
国际抵销价值;
静态int**pageTable;
公众:
内存管理器();
bool addProcess(TimeSliceRequest);
void printVirtualMemory();
/*
*页表初始化
**/
静态void initializePageTable(){
pageTable=新的int*[pageSize];
对于(int i=0;i您仅声明pageTable
成员变量,还必须定义它。这基本上是通过在实现(源)文件中重复声明来完成的:
int ** MemoryManager::pageTable;