Opened 17 years ago
Closed 17 years ago
#498 closed Bugs (Works For Me)
Compiler warning with gcc on Linux
Reported by: | nobody | Owned by: | Robert Ramey |
---|---|---|---|
Milestone: | Component: | serialization | |
Version: | None | Severity: | |
Keywords: | Cc: |
Description
I get the following warning compiling on Linux with gcc. No mater what I do I can't seem to get around the warning. Any ideas? Thanks! g++ -c -pipe -Wall -W -g -fPIC -I/usr/lib/qt-3.1/mkspecs/default -I. -I. -Iinclude -Isrc -I../ccbus -I/usr/lib/qt-3.1/include -I.ui/ -I.moc/ -o .obj/TraderButtonKey.o src/TraderButtonKey.cpp /usr/include/boost/archive/detail/common_iarchive.hpp: In member function `void boost::archive::detail::common_iarchive<Archive>::init() [with Archive = boost::archive::text_iarchive]': /usr/include/boost/archive/text_iarchive.hpp:69: instantiated from `boost::archive::text_iarchive_impl<Archive>::text_iarchive_impl(std::istream&, unsigned int) [with Archive = boost::archive::text_iarchive]' /usr/include/boost/archive/text_iarchive.hpp:82: instantiated from here /usr/include/boost/archive/detail/common_iarchive.hpp:75: warning: choosing ` boost::archive::version_type::operator unsigned int&()' over ` boost::archive::version_type::operator unsigned int() const' /usr/include/boost/archive/detail/common_iarchive.hpp:75: warning: for conversion from `boost::archive::version_type' to `unsigned int' /usr/include/boost/archive/detail/common_iarchive.hpp:75: warning: because conversion sequence for the argument is better Code fragment: class TraderButtonKey { public: //! Default constructor. TraderButtonKey( ) : m_cls(0), m_number(0) {} //! Constructor. //! //! \param cls the class //! \param number the number TraderButtonKey( int cls, int number ) : m_cls(cls), m_number(number) {} ... private: //! Required by the boost C++ libraries to provide serialization to //! and from the archive. //! //! \param ar archive to save/load object members //! \param version boost class version template<class Archive> void serialize( Archive & ar, const unsigned int version ) { if (version) // gets rid of unused parameter warning ; ar & m_cls; ar & m_number; } int m_cls; //!< class of the key int m_number; //!< number within that class };
Change History (6)
comment:2 by , 17 years ago
Logged In: NO Ooops ... forgot my email ... rbys@hotmail.com ... thanks!
comment:3 by , 17 years ago
Logged In: YES user_id=167007 I've seen these too, FWIW, with (I believe) gcc 3.2.3. What boost version/compiler are you using? This patch: 75c75 < basic_iarchive::init(input_library_version.operator unsigned int()); --- > basic_iarchive::init(input_library_version); to boost/archive/detail/common_iarchive.hpp stops the warning for version 1.32.0. IIRC. Haven't doublechecked with Robert if this is completely kosher or not, though... -troy d. straszheim
comment:4 by , 17 years ago
Logged In: NO Ooops ... forgot my email ... rbys@hotmail.com ... thanks!
comment:5 by , 17 years ago
Logged In: NO Ooops ... forgot my email ... rbys@hotmail.com ... thanks!
comment:6 by , 17 years ago
Status: | assigned → closed |
---|
Logged In: YES user_id=396141 Bogus warning. See manual. In any event, code was tweaked to avoid generation of the message on this compiler Robert Ramey
Note:
See TracTickets
for help on using tickets.