1

Тема: Додати змінну в властивість масиву

dataset->First();
int i = 0;
while(!dataset->Eof)
{
     i++;
     dataset->Next();
} 
AnsiString PK[3][i];

Підкажіть будб-ласка. Що я роблю не вірно. Я хочу додати кількість стовпців для масиву

2

Re: Додати змінну в властивість масиву

[C++ Error] DBComparisonOne.cpp(42): E2313 Constant expression required

3

Re: Додати змінну в властивість масиву

Який компілятор, які опції? Змінна для визначення кількості елементів в масиві може використовувати тільки з C++11.

4

Re: Додати змінну в властивість масиву

C++Builder 6. Як мені тоді бути, ставити приблизну кількість?

5

Re: Додати змінну в властивість масиву

Маю ще одне запитання, як дізнатися для циклу скільки значень має масив

6

Re: Додати змінну в властивість масиву

Constant expression required -> Потрібно константне вираз, або створіть статичний масив (наприклад AnsiString PK[3][10]) або динамічний знизу є приклад але й я не знаю чи він буде робить.

dataset->First();
int i = 0;
while(!dataset->Eof)
{
     i++;
     dataset->Next();
} 

AnsiString **PK= new AnsiString*[i];
for (int j = 0; j < 3; j++)
{
    PK[j] = new AnsiString[3];
}

7

Re: Додати змінну в властивість масиву

Для масиву рядків в VCL краще використовувати TStringList. У вас буде щось типу

TStringList *PK[3];
for (int j = 0; j < 3; j++) {
    PK[j] = new TStringList;
}

Але все залежить від того, що ви далі плануєте із ним робити.

Кількість елементів в масиві ніде не зберігається. Якщо розмір прописаний жорстко, то можна зробити sizeof(A)/sizeof(A[0]). Якщо ж передається посиланням - треба передавати ще й розмір окремим параметром. А в TStringList є властивість Count.

8 Востаннє редагувалося avpdnepr (27.08.2015 10:22:07)

Re: Додати змінну в властивість масиву

Дякую за приклади