2015-04-09 2 views
-4

У меня есть указатель, объявленный в моем файле заголовка, который я инициализирую в своем конструкторе, чтобы указать на массив и массив. Однако я не могу заставить его указывать на массив в целом, вместо этого я вижу только первое значение в отладчике. Есть ли все равно, чтобы он показывал все, или я должен получить его вслепую.C++ Указатель на весь массив

Я использую Visual Studio 2013

.h

class myClass{ 
    public: 
     myClass(); 
     ~MyClass(); 
    private: 
     double* categories; 
} 

};

.cpp

double array[5] = {0,1,2,3,4}; 

categories = new double[5] 
categories = array; 

Что меня смущает то, когда я все это делать в .cpp я могу видеть все просто отлично:/

double g[2] = { 9, 8 }; 
double(*j)[2] = &g; 
+0

«Когда я делаю все это в .cpp» - вам удалось выбрать разницу, которая совершенно не имеет значения. –

+1

Вопрос заключается в том, как использовать отладчик Visual Studio. Указатель, являющийся просто адресом памяти, может _одно_ указывать на начало массива. –

+0

@KarolyHorvath Это мой первый раз, когда-либо делающий что-либо на C++, и так как мы не можем знать все с самого начала, я не вижу причины быть грубым из-за отсутствия знаний о указателях. И поскольку, когда я использую отладчик на другом фрагменте кода, он показывает [0,1,2,3,4] –

ответ

1

Указатель это то же самое, как массив, без информации о размере.

Так что это нормально, это указывает на первое значение массива. Ответ на ваш вопрос можно найти здесь: How to display a dynamically allocated array in the Visual Studio debugger?

+0

Спасибо за ссылку и информативный ответ :) –