下面的代碼產生以下警告: ‘factoryThread’ may be used uninitialized in this function [-Wmaybe-uninitialized]
「「X`可在此功能未初始化」警告和並行線程,C
pthread_t factoryThreads[NUM_FACTORIES];
int factoryNums[NUM_FACTORIES];
for (int i = 0; i < NUM_FACTORIES; i++) {
factoryNums[i] = i + 1;
pthread_t factoryThread;
factoryThreads[i] = factoryThread;
pthread_create(&factoryThreads[i], NULL, createAndInsertCandy,
&factoryNums[i]);
}
代碼似乎按預期方式工作,但我仍然好奇,導致警告的原因以及我能做些什麼來解決這個問題。
pthread_t factoryThread; factoryThreads [i] = factoryThread; –