Как исправить это утверждение может пройти через [-Werror = implicit-fallthrough =]?
-3 cybodroid [2018-07-21 10:10:00]
Что значит
this statement may fall through [-Werror=implicit-fallthrough=]
имею в виду?
Я получаю эту ошибку при компиляции в следующем виде:
switch(eT)
{
case SEL_CRIT:
{
TYPE1* psSel;
iRetVal = dbseq(enB->m_ps,
NULL, NULL, &esM, NULL, ESEC);
while (iRetVal == 0)
{
if(psEnterprise)
{
bool iFound = false;
for (i = 0; i< psME->m_pslave[0].m_uc; i++)
{
ENT node1;
sEOS = psME>m_pslave[0].m_pslavecnt[i];
}
if (iFound && (psME->m_NOTOVERLOADED == false))
{
return psME;
}
}
}
psSel = (M_EN*)pCrit;
LOG_INFO(FAIL_TO_LOAD, psME->m_ONG, psME->EN);
int_Enterprise = NULL;
}
в
int_Enterprise = NULL;
где
int_Enterprise - это указатель на структуру.
Как я могу это исправить?
c++ c cmake
1 ответ
2 Решение Jesper Juhl [2018-07-21 10:23:00]
У вас нет break;
в конце вашего case:
так что выполнение провалится в следующий case
. Добавьте оператор break
чтобы предотвратить [[fallthrough]]
если это то, что вы хотите, или добавить атрибут [[fallthrough]]
если подразумевается провал.