$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Fei Liu (feiliu_at_[hidden])
Date: 2007-09-24 12:10:36
Hello, group I am trying out the code snippet in 
http://www.boost.org/doc/html/lambda/le_in_details.html 'Naming delayed 
constants and variables'. I got some compile errors complaining about 
synthesized method error with the following code:
#include <iostream>
#include <boost/lambda/lambda.hpp>
#include <boost/ref.hpp>
#include <vector>
#include <iterator>
#include <algorithm>
using namespace std;
using namespace boost::lambda;
using namespace boost;
int main(){
    int i = 1;
    (_1 += 2)(i);         // i is now 3
    (++_1, cout << _1 << '\n')(i); // i is now 4, outputs 4
    int j = 40;
    _1 = j;
    var(i) = _1 = j;
    cout << i << '\n';
    vector<int> a;
    a.reserve(10);
    a.resize(10);
    //for_each(a.begin(), a.end(), istream_iterator<int>(cin));
//    for_each(a.begin(), a.end(), cin >> _1);
    i = 0;
    for_each(a.begin(), a.end(), (_1 = var(i)++)); // delayed evaluation 
through 'var'
    for_each(a.begin(), a.end(), cout << _1 << ' ');
    cout << '\n';
    for_each(a.begin(), a.end(), cout << ' ' << _1);
    cout << '\n';
    for_each(a.begin(), a.end(), (var(j) = _1, _1 = var(i), var(i) = 
var(j)));       <------------ Error
    for_each(a.begin(), a.end(), cout << _1 << ' ');
    cout << '\n';
}