Thanks for your answer. I followed your method to change codes in tbb/parallel_for.h. There is still a mistake(C3641). This mistake is a question about '/clr:pure' and 'calling_convention'.
I only hope to change the following procedure from CLR console mode into CLR window form.
I am so unexpected that the problem is happen.
Maybe I have not noticed some details of CLR windows form.
class Average{
float* input;
float* output;
size_t size;
public:
void operator () (const blocked_range<size_t> & r) const {
for(size_t i = r.begin(); i != r.end(); i++){
if(i == 0)
output[i] = (input[i] + input[i] + input[i+1])/3;
else if(i == (size-1))
output[i] = (input[i-1] + input[i] + input[i])/3;
else
output[i] = (input[i-1] + input[i] + input[i+1])/3;
}
} // end operator()
Average(float _i[], size_t _s, float _o[]) : input(_i), size(_s), output(_o) {} //constructor + initial setup
};