Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 对“静态成员函数内的静态类成员变量”的未定义引用';_C++_Static_Static Methods_Static Members - Fatal编程技术网

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;