|
Boost Users : |
From: Yaroslav Yanovsky (zellis_at_[hidden])
Date: 2005-01-17 02:40:53
Hello boost-users,
I know, BOOST_FOREACH is not distributed with boost, but I don't know
where else should I write about it so I decided to post it here.
BOOST_FOREACH is not compiling under VC 7.0
Here I've wrote small example that represents problem:
-----------------------
#include <iostream>
#include <list>
#include <boost/foreach.hpp>
using std::list;
class BNamespace {
public:
list<int> contents;
int Find(int what) const;
};
inline int BNamespace::Find(int what) const {
BOOST_FOREACH (int i, this->contents)
//BOOST_FOREACH (const int& i, this->contents) // will fail too
if (i==what)
return i;
return 0;
}
int main() {
BNamespace lst;
lst.contents.push_back(4);
lst.contents.push_back(5);
lst.contents.push_back(6);
int i=lst.Find(6);
std::cout<<i<<std::endl;
return 0;
}
-----------------------
Compilation of this code on VC 7.0 leads to following errors:
a.cpp(15) : error C2667: 'boost::for_each::wrap' : none of 2 overloads have a best conversion
f:\Libs\boost\boost\foreach.hpp(138): could be 'boost::for_each::container<T,boost::mpl::true_> boost::for_
each::wrap(const T &)'
f:\Libs\boost\boost\foreach.hpp(132): or 'boost::for_each::container<T,boost::mpl::false_> boost::for
_each::wrap(T &)'
while trying to match the argument list '(const std::list<_Ty,_Ax>)'
with
[
_Ty=int,
_Ax=std::allocator<int>
]
a.cpp(15) : error C2668: 'boost::for_each::wrap' : ambiguous call to overloaded function
f:\Libs\boost\boost\foreach.hpp(138): could be 'boost::for_each::container<T,boost::mpl::true_> boost::for_
each::wrap(const T &)'
f:\Libs\boost\boost\foreach.hpp(132): or 'boost::for_each::container<T,boost::mpl::false_> boost::for
_each::wrap(T &)'
while trying to match the argument list '(const std::list<_Ty,_Ax>)'
with
[
_Ty=int,
_Ax=std::allocator<int>
]
-----------------------
I've tried to compile same code with MinGW and it succeded.
Can anyone help me with this problem?
Thanks!
-- Best regards, Yaroslav mailto:yaroslav_at_[hidden]
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