Я новичок в приложении C / CPP и анализирую проблему с помощью фрагмента кода C / CPP.Я столкнулся с ошибкой сегментации, и я не должен определять основную причину ошибки сегментации.
Пожалуйста, найдите сценарий ниже:
union Value
{
int value_int;
float value_float;
RWCString *value_string;
}
void setValueString(const RWCString &value_string_arg)
{
*(value.value_string) = value_string_arg; //value is a reference to UNION Value.
}
, когда приложение использует этот фрагмент кода, тогда оно генерирует ошибку сегментации во время выполнения и завершается.Я поместил несколько операторов вывода на консоль и понял, что ошибка сегментации может быть вызвана
*(value.value_string) = value_string_arg;
строкой.
Может ли кто-нибудь подтвердить мою идентификацию ошибки сегментации?Кроме того, я не совсем уверен, как обойти эту проблему.Пожалуйста, дайте мне знать, если у кого-то есть мысли о том же.
Любая помощь очень ценится.Спасибо
~ Джеган