Я пытаюсь передать массив в функцию, а затем распечатать значения, найденные внутри массива.возвращающий массив с использованием функций - C++
это то, что у меня есть
numbers.cpp
#include <iostream>
#include <string>
#include "numbers.h"
int * numbers::printNumbers() {
for (int i=0; i<3; i++) {
for (int j=0; j<3; j++) {
arrayOne[j] =i;
}
}
return arrayOne;
}
numbers.h
#ifndef try_numbers_h
#define try_numbers_h
#include <iostream>
#include <string>
class numbers {
public:
int * printNumbers();
private:
int arrayOne[4];
};
#endif
main.cpp
#include <iostream>
#include <string>
#include "numbers.h"
int main() {
numbers printNum;
int * p;
p = printNum.printNumbers();
}
кодов, приведенных выше, выполняется успешно
но мой выход возвращаются некоторым странный адрес памяти
выхода
0x7fff5fbff8e0
по праву должны вывести
удвоить объемы
0
1
2
3
Стандартный ответ 1A: используйте 'std :: vector' вместо массива. –