Сегодня я пытался внедрить внутренний класс, передавая ему свой внешний класс, а пока я в пространстве имен внешнего класса: Я использую Visual Studo 2013. Код выглядит следующим образом: (смотрите ^^)Инициализировать внутренний класс с внешним классом это возможно?
class Base
{
public:
virtual void foo(){ cout << "foo" };
};
class object
{
class Derived : public Base
{
object& o;
public:
Derived(object& o) : o(o){}
virtual void foo(){ cout << "bar" };
}derived(*this);
// ^^^^^^
};
Производный класс, наследующий что-то, не влияет на что-либо для этого примера здесь, насколько я проверял. (Только здесь по причинам контекста см ниже)
На этой ^^ момент я получаю сообщение об ошибке: нет необходимости конструктора по умолчанию доступен
Intellisense предупреждает меня, что он ожидает, что типа спецификации. Я также пробовал передать указатель (конечно, я тоже изменил конструкторы), но такая же реакция. Для protokoll я уже довольно много экспериментировал и исследовал, но я не могу изолировать четкий ответ на мою проблему.
Неверный текст здесь? Как я могу передать себя тогда на этом этапе?
For Background (only if you're interested):
I tried to write Code for Keybinding in an Application. To pass functions to the Keys i use an "Interface" of class KeyFunction (Base class resembles it).
I now want to give classes (object) the possibility to declare it's own KeyFunction(Derived) and , more important, pass ressources(object) with it, in a way that functions can work on them (since i can only use void pointers, because they are later stored in an array for the bindings) I already achieved this task with other code which i think is to long to post here, though. By experimenting i stumbled across this problem.
ах право я должен использовать конструктор для создания экземпляра вещи ... Я в области видимости класса есть, а не вызов функции ^^ спасибо – Meph