не могу воспроизвести на простом примере но в проекте почемуто происходит
class CXaiTextReader : public IXaiReader
{
};
class CXaiDocument
{
public:
CXaiDocument(){}
CXaiDocument(IXaiReader & dr){}
};
CXaiDocument d(CXaiTextReader(s));
d.Get<CString>(L"Title"); // error C2228: left of '.Get' must have class/struct/unionauto d = CXaiDocument(CXaiTextReader(s));
d.Get<CString>(L"Title"); // OK
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Здравствуйте, Barbar1an, Вы писали:
B>не могу воспроизвести на простом примере но в проекте почемуто происходит
Да просто объявление функции получилось.
Добавь скобок
Здравствуйте, Qbit86, Вы писали:
Q>Здравствуйте, Barbar1an, Вы писали:
B>>
CXaiDocument d(CXaiTextReader(s)); // Возможно, это объявление функции.
Q>std::cout << typeid(d).name() << std::endl; // ?
class mw::CXaiDocument __cdecl(class mw::CXaiTextReader)
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Здравствуйте, watchmaker, Вы писали:
W>Здравствуйте, Barbar1an, Вы писали:
B>>не могу воспроизвести на простом примере но в проекте почемуто происходит W>Да просто объявление функции получилось. W>Добавь скобок
CXaiDocument d((CXaiTextReader(s)));
или используй uniform initialization
CXaiDocument d{CXaiTextReader(s)};
а с какого хрена такое объявление стало объявлением функции?
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Здравствуйте, Barbar1an, Вы писали: B>а с какого хрена такое объявление стало объявлением функции?
Ну оно не стало, а всегда таким было. Так язык устроен. Подробнее: Most vexing parse.
B> CXaiDocument(IXaiReader & dr){}
B> auto d = CXaiDocument(CXaiTextReader(s));
B>
То, что ссылка не константная, никому не мешает?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском