warning C4482: nonstandard extension used?
От: Аноним  
Дата: 12.01.09 13:50
Оценка:
Хай!

Такой вот код в VS2005:
if((_this->get_node())->Type()==static_cast<int>(TiXmlNode::NodeType::ELEMENT))

генерирует варнинг:
warning C4482: nonstandard extension used: enum 'TiXmlNode::NodeType' used in qualified name


Как побороть?

Спасибо!
Re: warning C4482: nonstandard extension used?
От: sraider http://dvinogradov.blogspot.com
Дата: 12.01.09 13:56
Оценка:
А>Такой вот код в VS2005:
А>
А>if((_this->get_node())->Type()==static_cast<int>(TiXmlNode::NodeType::ELEMENT))
А>

А>генерирует варнинг:
А>
А>warning C4482: nonstandard extension used: enum 'TiXmlNode::NodeType' used in qualified name
А>


А>Как побороть?


Наверно так:
А>
А>if((_this->get_node())->Type()==static_cast<int>(TiXmlNode::ELEMENT))
А>
Re[2]: warning C4482: nonstandard extension used?
От: Аноним  
Дата: 12.01.09 14:05
Оценка:
Здравствуйте, sraider, Вы писали:

S>Наверно так:

А>>
А>>if((_this->get_node())->Type()==static_cast<int>(TiXmlNode::ELEMENT))
А>>


Сработало
Re: warning C4482: nonstandard extension used?
От: Ligen Украина http://zone-of-ambiguity.blogspot.com/
Дата: 12.01.09 14:13
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Хай!
А>Такой вот код в VS2005:
А>
А>if((_this->get_node())->Type()==static_cast<int>(TiXmlNode::NodeType::ELEMENT))
А>

А>генерирует варнинг:
А>
А>warning C4482: nonstandard extension used: enum 'TiXmlNode::NodeType' used in qualified name
А>

А>Как побороть?
А>Спасибо!


if((_this->get_node())->Type()==static_cast<int>(TiXmlNode::ELEMENT))
Viva el Junta Militar! Viva el Presidente!
Re: warning C4482: nonstandard extension used?
От: skeptik_  
Дата: 12.01.09 16:18
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Хай!


А>Такой вот код в VS2005:

А>
А>if((_this->get_node())->Type()==static_cast<int>(TiXmlNode::NodeType::ELEMENT))
А>


У тебя тут много лишнего, скобки в левой части не нужны, и приведение енума тоже:

if ( _this->get_node()->Type() == TiXmlNode::ELEMENT )


Ещё поди и чёрточка перед this — просто опечатка, и достаточно такого:

if ( get_node()->Type() == TiXmlNode::ELEMENT )

Скажешь, что не читабельнее?
Re[2]: warning C4482: nonstandard extension used?
От: Аноним  
Дата: 12.01.09 22:32
Оценка:
Здравствуйте, skeptik_, Вы писали:

_>Здравствуйте, Аноним, Вы писали:


А>>Хай!


А>>Такой вот код в VS2005:

А>>
А>>if((_this->get_node())->Type()==static_cast<int>(TiXmlNode::NodeType::ELEMENT))
А>>


_>У тебя тут много лишнего, скобки в левой части не нужны, и приведение енума тоже:


_>
_>if ( _this->get_node()->Type() == TiXmlNode::ELEMENT )
_>


_>Ещё поди и чёрточка перед this — просто опечатка, и достаточно такого:


_>
_>if ( get_node()->Type() == TiXmlNode::ELEMENT )
_>

_>Скажешь, что не читабельнее?

_this это такой у меня указатель имеется (указывает на С++ класс COM интерфейса) Насчет static_cast согласен не нужен, но с другой стороны дает понять что Type() возвращает int.
Re[3]: warning C4482: nonstandard extension used?
От: skeptik_  
Дата: 13.01.09 04:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>_this это такой у меня указатель имеется (указывает на С++ класс COM интерфейса) Насчет static_cast согласен не нужен, но с другой стороны дает понять что Type() возвращает int.


Почему бы не сделать так, чтобы Type() возвращал enum?
Re[4]: warning C4482: nonstandard extension used?
От: Аноним  
Дата: 13.01.09 17:23
Оценка:
Здравствуйте, skeptik_, Вы писали:

_>Почему бы не сделать так, чтобы Type() возвращал enum?


А это не ко мне, а к TinyXML это их функция:

    /** Query the type (as an enumerated value, above) of this node.
        The possible types are: DOCUMENT, ELEMENT, COMMENT,
                                UNKNOWN, TEXT, and DECLARATION.
    */
    int Type() const    { return type; }


Для ОпенСорца это наверное в порядке вещей, я уже привык
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.