Определение приватного метода, возвращающего значение приватного типа
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
В приведенном примере и структура и метод предназначены для использования только в пределах класса. Определение метода я хочу вынести в отдельный файл (cl_cells.cpp), но в нем не виден тип структуры.
Как реализовать определение метода, чтобы было правильно? Определить тип
struct cell
еще раз в файле cl_cells.cpp? Или есть более красивый способ?HaabaCoder, а ты пробовал реализовать или сразу решил спросить?
У тебя получается два файла: cl_cells.h и cl_cells.cpp. В первом объявлен класс с объявлением приватной структуры и объявлением приватного метода. Во втором ты планируешь определять метод. Но для этого во втором файле должны быть видны объявления и класса, и метода. Т.е. во второй файл ты должен включить первый файл (
#include "cl_cells.h"
). Следовательно объявление структуры там будет тоже видно. Так что проблемы нет как таковой.Cranium, конечно, я сперва написал код и попробовал откомпилировать. Директива
#include
присутствует.Компилятор выдает ошибку:
24 1 D:\_2_\cl_cells.cpp [Error] 'cell' does not name a type
.Причем определение конструктора компилируется вообще без вопросов (если закомментить get_cell), хотя в нем тоже есть обращения к типу cell.
cell
надо использовать с квалификатором: именем охватывающего класса.cl_cells.h
cl_cells.cpp
Cranium, большое спасибо!