توی کد زیر کامپایلر به من warning میده که از i استفاده نکردم
std::vector<int> a; int c=1; for(auto& i: a) c*=2;
وقتی هم که به این شکل مینویسم ارور میده :
std::vector<int> a; int c=1; for(auto& : a) c*=2;
چطوری میشه کاری کرد که warning نده ؟
به این شکل (برای استفاده معمولی خط define رو پاک کنین .)
#define AUTO_WITH_OUT_WARNING for(auto i : a) { #ifdef AUTO_WITH_OUT_WARNING (void)i; struct i; #endif c *= 2 ; //ok //c *= i ; //error }