#include <stdio.h>
#include <iostream>
#include <vector>
using namespace std;
struct B{
int ID;
B(int b){ ID = b; printf("construct B over\n");};
};
class A{
public:
operator B(){ printf("operator B over\n");return B{(int)ID};};
public:
float ID;
};
int main()
{
vector<A> va;
va.resize(2);
va[0].ID = 1.2f;
va[1].ID =2.4f;
vector<B> vb(va.begin(), va.end());
printf("%d\n", vb[1].ID);
return 0;
}