У меня есть segmentationfault на линии: cout < < b [0] [0];Как вернуть массив размера 2 в C++
Кто-нибудь может сказать мне, что я должен сделать, чтобы исправить мой код?
#include <iostream>
using namespace std;
int** gettab(int tab[][2]){
return (int**)tab;
}
int main() {
int a[4][2] = {{0, 0}, {1, 0}, {2, 0}, {2, 1}};
int ** b = gettab(a);
cout << b[0][0];
return 0;
}
Если вы собираетесь использовать нижний предел, оставьте комментарий, чтобы сказать почему. – 2009-12-20 21:58:39
Эта строка: int (*) [2] gettab2 (int tab [] [2]) { не компилируется. У меня есть ошибка: main.cpp | 14 | ошибка: ожидаемый неквалифицированный идентификатор до ')' токен | main.cpp | 14 | ошибка: ожидаемый инициализатор перед 'gettab2' | – user56642
Должно быть Int (* gettab (вкладка ИНТ [] [2])) [2] Я рекомендую не возвращающие массивы, хотя :) – DanDan