我在名为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;
};
我打算创建一个类型为node的数组,并使用它来搜索书中的单词。为什么不明确?
提前致谢
答案 0 :(得分:4)
sizeof(indexStructre[0])
中你拼写错误index::shiftRight()
。将其更正为indexStructure
然后重试。
答案 1 :(得分:2)
indexStructre
在u
字母后面缺少t
字母。但是,当你说编译器抱怨时,你正确地拼写它:)