Boost logo

Boost Users :

Subject: [Boost-users] [phoenix] std::fstream problem
From: Christian Henning (chhenning_at_[hidden])
Date: 2008-11-05 14:49:07


Hi there, sorry to bother the community with my phoenix problems
today. Please consider the following code sample:

#include <boost/spirit/include/phoenix_algorithm.hpp>
#include <boost/spirit/include/phoenix_bind.hpp>
#include <boost/spirit/include/phoenix_container.hpp>
#include <boost/spirit/include/phoenix_core.hpp>
#include <boost/spirit/include/phoenix_function.hpp>
#include <boost/spirit/include/phoenix_fusion.hpp>
#include <boost/spirit/include/phoenix_object.hpp>
#include <boost/spirit/include/phoenix_operator.hpp>
#include <boost/spirit/include/phoenix_scope.hpp>
#include <boost/spirit/include/phoenix_statement.hpp>
#include <boost/spirit/include/phoenix_stl.hpp>

#include <algorithm>
#include <iostream>
#include <fstream>
#include <vector>

int _tmain(int argc, _TCHAR* argv[])
{
    using namespace std;
    using namespace boost::phoenix;
    using namespace boost::phoenix::arg_names;

    vector< int > ints;
    ofstream out( ".\\remove.txt" );

    // works
    std::for_each( ints.begin(), ints.end(), cout << arg1 << " " );

    // doesn't work - error C2297: '<<' : illegal, right operand has
type 'const char *'
    std::for_each( ints.begin(), ints.end(), out << arg1 << " " );

    return 0;
}

I couldn't find anything inside the documentation regarding file streams.

Thanks,
Christian


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net