С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
KernelSource
0 / 0 / 0
Регистрация: 09.02.2012
Сообщений: 19
#1

Не может найти конструктор для иниц поля класса - C++

13.08.2012, 22:34. Просмотров 468. Ответов 3
Метки нет (Все метки)

Здравствуйте. Помогите с проблемой. Есть класс TCell, определен тип CellArray как массив 30 Х 30 из TCell. Также определен класс TGameSector, который имеет private поле CArr типа CellArray. При компиляции выходит ошибка: cannot find default constructor to initialize member TGameSector::CArr.
т.е. просит конструктор массива. Поискал в интернете, и, в частности, здесь, есть похожие проблемы но не "конструктор массива".

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class TCell: public TObject
{
//...
public:
__fastcall TCell(int X, int Y, uchar St);
//...
}
 
 
typedef TCell CellArray[30][30];
 
 
 
class TGameSector: public TImage
{
//...
  private:
    CellArray CArr;
 
  public:
 __fastcall TGameSector(TComponent* Owner, TInitStruct InitStruct);
//...
}
В cpp конструктор TGameSector описан:

C++
1
2
3
4
5
__fastcall TGameSector::TGameSector(TComponent* Owner, TInitStruct InitStruct) :  TImage(Owner)
{
 
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2012, 22:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не может найти конструктор для иниц поля класса (C++):

Напишите конструктор для инициализации объекта класса Time, который может использовать текущее время, возвращаемое функцией time (). - C++
Помогите пожалуйста написать программу на С++. Просто скоро курсовую сдавать, а классы мы еще не разобрали и не успеваем. Поэтому не знаю...

Как инициализирует поля класса заданный конструктор? - C++
Здравствуйте Дорогие Форумчане. 1) Как инициализирует переменную этот вызов? Queue line(qs); с таким конструктором. ...

В каких из приведенных ниже ситуаций может быть вызван конструктор копирования класса String: - C++
1. String spaces(size_t n) { const String s(n, ' '); return s; } int main() { std::cout << spaces(10).str <<...

Создать конструктор копий и оператор присваивания для класса компьютер и члена класса марка - C++
Создать конструктор копий и оператор присваивания для класса компьютер и члена класса марка. Всем огромное спасибо за помощь! |

Конструктор класса не видит конструктор по умолчанию другого класса - C++
Ошибка, естественно, в Classes.cpp, в строке 20. Ругается, что у класса TailNode нет конструктора по умолчанию, хотя он там, конечно, есть....

Конструктор для контейнерного класса - C++
Такой код: #include <iostream> #include <string> #include "stdlib.h" #include "stdio.h" #include <set> using namespace...

3
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
13.08.2012, 22:59 #2
При создании массива создаются все элементы этого массива. для каждого должен позваться конструктор. Причем зовется конструктор без параметров, потому что какого-то способа задать специальный конструктор нет. Это значит, что у объектов массива должен быть конструктор без параметров. Т.к. у вас в массиве объекты типа TCell и у класса TCell нет конструктора без параметров, массив таких ячеек создаться не может.
Лечится добавлением в ТCell конструктора без параметров и потом уже каждая ячейка инициализируется в теле конструктора TGameSelector.
1
vampir64
6 / 6 / 0
Регистрация: 01.08.2012
Сообщений: 70
13.08.2012, 22:59 #3
Похоже, что классу TCell нужен конструктор по-умолчанию.
0
KernelSource
0 / 0 / 0
Регистрация: 09.02.2012
Сообщений: 19
13.08.2012, 23:12  [ТС] #4
Все ясно DU, добавил конструктор без параметров:

__fastcall TCell::TCell():TObject(){}

или

__fastcall TCell::TCell(){}

Ошибки больше нет. Спасибо.
0
13.08.2012, 23:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2012, 23:12
Привет! Вот еще темы с ответами:

Конструктор класса для чайников - C++
Пытаюсь определить класс name_value, а компилятор ругается что нет конструктора, что это вообще за зверь конструктор #include...

Конструктор для класса MinElement - C++
помогите написать задачи, пожалуйста. не знаю я с++ Задание 1 Напишите конструктор для класса MinElement,который имеет...

Конструктор для класса исключений - C++
Здравствуйте. Разбираюсь с обьектно-ориентированным программирование. Есть задание создать класс векторов, а потом наследовать от класса...

Для класса задать конструктор и деструктор - C++
Ребята,нужна помощь в написании программы. Для класса задать конструктор(для выделения памяти,открытия файлов,задания начальных значений...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.