Происходит, когда класс пытается use
несколько Черты , где две или более из этих признаков имеют , определяют свойство с тем же именем и с свойством, имеющим разные начальные значения.
Пример:
Проблемное: хотя можно разрешить конфликты между конкурирующими методами , в настоящее время нет синтаксиса, который бы разрешил конфликт между двумя конкурирующими свойствами. Единственное решение в это время - refactor ; т.е. избежать конфликта между именами свойств, которые приводят к фатальной ошибке.
Вопросы, относящиеся:
Alien01 записал: В настоящее время я работаю над проектом, где операторы перехода в большой степени используются. Основная цель операторов перехода состоит в том, чтобы иметь один раздел очистки в стандартной программе, а не нескольких операторах возврата.
, Другими словами, Вы хотите разделить логику программы от простых повторяющихся утомительных стандартных программ, как освобождение ресурса, который мог бы быть зарезервированным в различных местоположениях кода.
метод обработки исключений является логикой обработки ошибок, которая работает параллельно с логикой программы. Это - более изящное решение, так как это обеспечивает такое разделение при предложении способности переместить управление в другие блоки кода точно как goto
, оператор делает, таким образом, я изменил сценарий для сходства с этим:
class auxNullPtrException : public std::exception {
public:
auxNullPtrException::auxNullPtrException()
: std::exception( " OOM \n") {}
};
BOOL foo()
{
BOOL bRetVal = FALSE;
try {
int *p = NULL;
p = new int;
if (p == NULL)
{
throw auxNullPtrException();
}
// Lot of code...
}
catch(auxNullPtrException & _auxNullPtrException)
{
std::cerr<<_auxNullPtrException.what();
if(p)
{
delete p;
p = NULL;
}
}
return bRetVal;
}
Попробуйте его этот путь:
BOOL foo()
{
BOOL bRetVal = FALSE;
int *p = NULL;
p = new int;
if (p == NULL)
{
cout<<" OOM \n";
}
else
{
// Lot of code...
}
if (p)
{
delete p;
p = NULL;
}
return bRetVal;
}
В разделе "Lot of code", "Партия кода" является хорошим признаком, что, вероятно, необходимо осуществить рефакторинг этот раздел в один или несколько методов или функций.