Реализация класса дерева B: выражение должно иметь постоянные значения? - PullRequest
1 голос
/ 21 марта 2012

Предположим, у нас есть заголовочный файл "itemtype.h", в котором я объявляю следующие элементы:

#include<iostream>
#include<fstream>

using namespace std;

const int  keyfieldmax=12;
const int kfmaxplus=keyfieldmax+1;
const int datafieldmax=36;
const int dfmaxplus=datafieldmax+1;
const int NULLCHAR='\0';
typedef char keyfieldtype[kfmaxplus];
typedef char datafieldtype[dfmaxplus];
typedef struct
{
    keyfieldtype  keyfield;
    datafieldtype datafield;
}itemType;

Теперь из этого заголовка мне нужно создать "btree.h"

#include "table.h"
int maxkeys=11;
int maxkeysplus=maxkeys+1;
const int minkeys=5;
const int nilptr=-1L;
typedef struct
{
    int count;
    itemType Key[maxkeys];
    long branch[maxkeysplus];
}NodeType

, но со следующими двумя строками

itemType Key[maxkeys];
long branch[maxkeysplus];

говорит, что выражение должно иметь постоянные значения.Так как мне это исправить?

1 Ответ

1 голос
/ 21 марта 2012

Сделать maxkeys и maxkeysplus const int

const int maxkeys = 11;
const int maxkeysplus = maxkeys + 1;
...