私はboost::fusion::vectorを使おうとしています。しかし、私は非常に単純な問題に悩まされています。
#include <iostream>
#include <string>
#include <boost/fusion/container/vector.hpp>
#include <boost/fusion/algorithm.hpp>
using namespace std;
struct A{
template <class T>
void operator()(const T& t) {
x++;
cout << t << endl;
}
int x = 0;
};
int main(){
A a;
boost::fusion::vector<int, int, int> tuple{3,4,5};
boost::fusion::for_each(tuple, a);
}
operator()
のがでstruct A
変更x
されることに注意してくださいstruct A
。gcc 4.7.2は、... \ include \ boost \fusion \ alarmithm \ iteration \ detail \ for_each.hpp:77:エラー:「constA」を「this」引数として「voidA :: operator()(」として渡すことを警告します。 const T&)[with T =int]'は修飾子を破棄します[-fpermissive]
これに対する解決策はありますか?