Boost logo

Boost :

Subject: [boost] [boost/foreach] What is wrong with BOOST_FOREACH(const std::string &name, m_modules)?
From: Demetrio Car (demetrio.pepi_at_[hidden])
Date: 2011-09-09 12:51:23


I am trying to compile this example
http://www.boost.org/doc/libs/1_42_0/doc/html/boost_propertytree/tutorial.html
and I am getting the error
"/usr/local/boost_1_47_0/boost/property_tree/detail/ptree_implementation.hpp:795:54:
error: request for member ‘put_value’ in ‘tr’, which is of non-class type
‘bool’" in this line:
    BOOST_FOREACH(const std::string &name, m_modules){
        pt.put("debug.modules.module", name, true);
    }

My full error message is:

make all
Building file: ../src/Boost_property_tree.cpp
Invoking: GCC C++ Compiler
g++ -I/home/mori/Demetrio/WSs/Test/VanManagerParser/json_spirit
-I/usr/local/boost_1_47_0/ -I/usr/local/boost_1_47_0/boost/spirit
-I/usr/local/curl-7.21.7/ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP
-MF"src/Boost_property_tree.d" -MT"src/Boost_property_tree.d" -o
"src/Boost_property_tree.o" "../src/Boost_property_tree.cpp"
../src/Boost_property_tree.cpp: In member function ‘void
debug_settings::save(const std::string&)’:
../src/Boost_property_tree.cpp:80:5: error: invalid initialization of
reference of type ‘std::string&’ from expression of type ‘const
std::basic_string<char>’
In file included from
/usr/local/boost_1_47_0/boost/property_tree/ptree.hpp:516:0,
                 from ../src/Boost_property_tree.cpp:4:
/usr/local/boost_1_47_0/boost/property_tree/detail/ptree_implementation.hpp:
In member function ‘void boost::property_tree::basic_ptree<Key, Data,
KeyCompare>::put_value(const Type&, Translator) [with Type =
std::basic_string<char>, Translator = bool, Key = std::basic_string<char>,
Data = std::basic_string<char>, KeyCompare =
std::less<std::basic_string<char> >]’:
/usr/local/boost_1_47_0/boost/property_tree/detail/ptree_implementation.hpp:817:13:
  instantiated from ‘boost::property_tree::basic_ptree<K, D, C>&
boost::property_tree::basic_ptree<Key, Data,
KeyCompare>::put(boost::property_tree::basic_ptree<Key, Data,
KeyCompare>::path_type&, const Type&, Translator) [with Type =
std::basic_string<char>, Translator = bool, Key = std::basic_string<char>,
Data = std::basic_string<char>, KeyCompare =
std::less<std::basic_string<char> >, boost::property_tree::basic_ptree<Key,
Data, KeyCompare>::path_type =
boost::property_tree::string_path<std::basic_string<char>,
boost::property_tree::id_translator<std::basic_string<char> > >]’
../src/Boost_property_tree.cpp:81:50: instantiated from here
/usr/local/boost_1_47_0/boost/property_tree/detail/ptree_implementation.hpp:795:54:
error: request for member ‘put_value’ in ‘tr’, which is of non-class type
‘bool’
make: *** [src/Boost_property_tree.o] Error 1

**** Build Finished ****


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk