Почему мой массив статических bools не инициализирован правильно? Только первый инициализирован - я подозреваю, что это потому, что массив статичен.Static Bool Array Не инициализируется как установлено
Следующие MWE были скомпилированы с GCC и основаны на функции, которую я пишу, которую я передал в основную программу, чтобы проиллюстрировать мою проблему. Я пробовал с и без C++ 11. Мое понимание состоит в том, что этот массив статичен и инициализирован в true, это всегда должно печатать при первом входе в мою функцию. Поэтому в этом MWE он должен печатать один раз.
#include <iostream>
using namespace std;
const int arraysize = 10;
const int myIndex = 1;
static bool firstTimeOverall = true;
int main()
{
static bool firstCloudForThisClient[arraysize] = {true};
cout.flush();
if (firstCloudForThisClient[myIndex])
{
cout << "I never get here" << endl;
firstCloudForThisClient[myIndex] = false;
if (firstTimeOverall)
{
firstTimeOverall = false;
cout << "But think I would get here if I got in above" << endl;
}
}
return 0;
}
Что заставляет вас думать, что все элементы 'firstCloudForThisClient' инициализируются в' true'? – quamrana