Хотя я знаю, что это не обязательно лучший способ кодирования, я хотел бы инициализировать указатель внутри функции. Затем я могу использовать его позже и удалить его. Он должен выглядеть примерно так:Использование «нового» внутри функции
#include <iostream>
void initializer(double *d_ptr)
{
d_ptr = new double;
}
int main(int argc, char **argv)
{
double *my_d;
initializer(my_d);
*my_d = 2;
std::cout << *my_d << std::endl;
delete my_d;
}
Однако это приводит к нарушениям. Зачем?
@LogicStuff Я знаю, что основная ошибка в том, как передать указатель по ссылке (не понимая, как передать указатель по ссылке), но эти ответы невозможно найти при поиске, как инициализировать указатель внутри функции. Я думаю, что основная ошибка - это дубликат, но этот вопрос не дублируется, потому что аналогичные ответы уже указывают, что вы знаете, что делаете. Этот вопрос касается того, как определить, почему функция не инициализируется должным образом, даже если она компилируется. – Joel
@juanchopanza см. Выше? – Joel
На самом деле ... Я просто прочитал использование stackoverflow дубликатов. Похоже, что это относится к случаю, когда это дубликат, но вопрос не должен быть удален, потому что вопрос уникален, и трудно найти связанные ответы, если у вас есть эта проблема. Правильно ли это звучит? http://stackoverflow.com/help/duplicates – Joel