Использование члена определенного типа с компилятором TI

У меня есть класс, который выглядит примерно так:

class In {
public:
struct Member{
In name;
};

In() {}

private:
static const int aCapacity = 16;
static const int oCapacity = 16;
};

Когда я пытаюсь скомпилировать его, я получаю сообщение об ошибке: error #71: incomplete type is not allowed

Этот код компилируется с помощью компилятора Microsoft. Хотите знать, если кто-нибудь знает способ сделать эту работу для TI?

AFAIK, TI использует GCC 4.8.3.

Кстати, настоящий класс — это шаблон, но я уверен, что здесь нет проблем.

0

Решение

Это не должно компилироваться: компилятор не может вывести структуру Member так как он не проанализировал весь класс In еще.

Просто объявите вложенные structи определите это после определение In :

class In {
public:

struct Member;

In() {}

private:
static const int aCapacity = 16;
static const int oCapacity = 16;
};

struct In::Member{
In name;
};
1

Другие решения


По вопросам рекламы [email protected]