suppose we have following function:
void someFunction(int * araye){
for (int i=0;i<5;i++)
cout <<araye[i]<<' ';
cout <<'
';
}
can we pass an array to this function by following syntax, under upcoming c++0x standards? :
someFunction({1,2,3,4,5});
if that's true, will we even be able to use this syntax in any case in which, array elements are from POD types like below :
class Test{
int adad1;
int adad2;
};
void someFunction(Test * araye){
for (int i=0;i<3;i++)
cout <<araye[i].adad1<<'-'<<araye[i].adad2<<' ';
cout <<'
';
}
someFunction({{1,2},{3,4},{5,6}});
Edit->after what people said:
So you guys are telling that the expression between braces will be basically treated as an initializer_list and are proposing using an extra function that pulls a pointer out of that initializer_list and passes it to the intended function, but this method seems to me like a hack to be able to use my intended function with that expression as an argument, with that said I think I shouldn't use that expression as an argument at all, when my intended function parameter is a single pointer, or there might be another approach to use that expression? .
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…