정적 bool 배열이 제대로 초기화되지 않은 이유는 무엇입니까? 첫 번째 배열 만 초기화됩니다. 배열이 고정되어 있기 때문입니다.정적 Bool 배열 집합으로 초기화되지 않음
다음 MWE는 GCC로 컴파일되었으며 내 문제를 설명하기 위해 주 프로그램으로 전송 한 기능을 기반으로합니다. 나는 C++ 11을 사용하거나 사용하지 않으려 고 노력했다. 이 배열은 정적이며 true로 초기화 되었기 때문에 내 함수를 처음 입력 할 때 항상 인쇄해야한다는 것을 이해하고 있습니다. 따라서이 MWE에서는 한 번 인쇄해야합니다. arraysize 변수 1 다음 더 큰 경우가 array[size] = {true}
을 사용하여 배열에만 첫번째 요소를 초기화하는
#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