Мой цикл цикла (для отладки) для симулятора капитализма, который я делаю, не работает, так как он выходит из ix = 0 (он только выполняет тело цикла один раз). Я также считаю, что он синтаксически корректен (из других вопросов).C++ - для цикла не работает
Вот мой код (я ушел из переменных):
void print_things(String2Double b, String2Double up_cost, String2Double tFinish, string* bNames) {
// Just for debugging!
for (int ix=0;ix<(sizeof(bNames)/sizeof(bNames[0]));ix++) {
cout << "Count of business " << bNames[ix] << ": " << b[bNames[ix]] << endl;
cout << "Upgrade cost for " << bNames[ix] << ": " << up_cost[bNames[ix]] << endl;
cout << "Time to finish for " << bNames[ix] << ": " << tFinish[bNames[ix]] << endl;
cout << ix << endl;
}
}
Я также распечатать размер bNames[]
, который 9 и только напечатанный IX = 0, и я подозревал, что-то должно быть неправым.
Спасибо!
Добро пожаловать в клуб C/C++, наиболее часто задаваемых вопросов. –
Почему бы не заменить '(sizeof (bNames)/sizeof (bNames [0]))' с '9'? – asimes
Поскольку ни один из приведенных ниже ответов не упомянул об этом, это явление известно как «** массив, распадающийся на указатель **». Возможно, вы захотите найти его в своей любимой поисковой системе (Yahoo, DuckDuckGo, StartPage, IxQuick и т. Д.). –