Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

niagara avatar niagara 22 Точки

C++ Advanced - 04. Advanced C++ Class Members - Task 4 - Resources

Здравейте, някой може ли да хвърли малко светлина върху енумерациите, по точно как да въведем стойност. От main-а разбирам, че r.type e ResourceType, но при следния метод:

istream& operator>>(istream& In, Resource& r)
    {
        return In >> r.id >> r.type >> r.link;
    }

получавам грешка: no match for 'operator>>' (operand types are 'std::basic_istream<char>::__istream_type {aka std::basic_istream<char>}' and 'SoftUni::ResourceType')

Как да въведа полето тогава? Явно тези неща са ми минали покрай ушите и са си заминали ;D. Ще съм благодарна ако някой ми разясни.

Тагове:
0
C++ Programming
Jovanna avatar Jovanna 186 Точки

Здравейте, и аз срещнах проблем с тази задача. Кода съм го написала с map (необходим ми е за нормализацията) и нормализация на обекта при въвеждането му, като второто ми поле на обекта е от тип enum. Но, при извеждането на конзолата, се сърди за:       if (iterr->second == typeInEnum) ,  ( обхождам map-a ):

std::ostream& operator<<(std::ostream& out, const Resource& r) {
        std::string typeString;
        for (auto iterr = mapEnum.begin(); iterr != mapEnum.end(); iterr++) {
            ResourceType typeInEnum = r.getType;
            if (iterr->second == typeInEnum) {    //Тук VS  дава грешка
                typeString = iterr->first;
            }
        }        
        out << r.id << " " << typeString << " " << r.link;
        return out;
    }

Грешката, която VS дава е: "Not standard syntax". Kaкъв е начина да се накара този запис да работи? Иначе с if-else -ове си става.

Поздрави!

0
02/10/2018 13:05:25
kolioi avatar kolioi 641 Точки

getType() е метод, сложи му скобите

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.