Dlaczego cudaMalloc () używa wskaźnika do wskaźnika?

Na przykład,cudaMalloc((void**)&device_array, num_bytes);

To pytanie byłospytał wcześniej, a odpowiedź brzmiała „ponieważcudaMalloc zwraca kod błędu ”, ale go nie rozumiem - co ma wspólnego podwójny wskaźnik z zwracaniem kodu błędu? Dlaczego prostego wskaźnika nie można wykonać?

Jeśli piszę

cudaError_t catch_status;
catch_status = cudaMalloc((void**)&device_array, num_bytes);

kod błędu zostanie wprowadzonycatch_statusi wystarczy zwrócić prosty wskaźnik do przydzielonej pamięci GPU, prawda?

questionAnswers(3)

yourAnswerToTheQuestion