2

我在名为 index.cpp 的文件中有以下方法。当我编译时,它告诉我“indexStructure”没有在这个范围内定义。

#include "index.h"
#include <cctype> // provides isalpha() and tolower()
#include <iostream>
#include <sstream>

using namespace std;

void index::shiftRight (int i)
{
if ( indexSize == (sizeof(indexStructure) / sizeof(indexStructre[0])))
    doubleIndex();

for (int j = indexSize; j > i; j--)
    indexStructure [j] = indexStructure [j-1];
}

在 index.h 中,我有

class index
{

struct node {
    string item;
    int counter;
    int* pageNumber;
};

...

private:
    node* indexStructure;
    int lineCounter;
    int indexSize;

};

我打算制作一个节点类型的数组,并用它来搜索书中的单词。为什么它是未定义的?

提前致谢

4

2 回答 2

4

你拼错sizeof(indexStructre[0])index::shiftRight()。将其更正并重indexStructure试。

于 2012-09-26T21:28:16.937 回答
2

indexStructre这里的字母在字母u之后丢失t。但是,当您说编译器在抱怨时,您拼写正确:)

于 2012-09-26T21:28:45.723 回答