Почему я не могу получить доступ к участнику этого класса? [Дубликат]
На этот вопрос уже есть ответ здесь:
Моя попытка инициализации значения интерпретируется как объявление функции, и почемуt A a (()); реши это? 5 ответовУ меня есть следующие три определения класса:
class String
{
public:
String() {}
String(const char *) {}
};
class ClassA
{
public:
ClassA(const String &) {}
};
class ClassB
{
public:
ClassB(const ClassA &, const String & = String()) {}
void method() {}
};
Теперь предположим, что я хочу создать экземпляр:ClassB
String name("test");
ClassA item(ClassB(name));
Это нет работа:
error: request for member 'method' in 'item', which is of non-class type 'ClassA ()(ClassB)'
Что означает эта ошибка? И что это за странный типClassA ()(ClassB)
компилятор продолжает ссылаться на?