Я создаю vector
в строительном mex
файле. Мне нужно создать vector<vector<int>>
, размер которого соответствует входной переменной. Часть создания или объявления находится в блоке if
. Мне нужно использовать эту переменную за пределами if
. Тогда он имеет ошибку «необъявленный идентификатор». Я обнаружил, что должен предварительно определить переменную. Но я не знаю размер таким образом. Нужно ли определять глобальную переменную? Или любое другое предложение? Мой код ниже.
void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
{
int i;
if ( i == 0) // if block
{
mwSize Num = mxGetNumberOfElements(prhs[i]);
vector<vector<int>> V0(Num);
}
cout << V0.size()<<"\n"; // error
}
Это упрощенный пример кода. Мне действительно нужен блок if
. Я думаю, что проблема из области переменных. Но я не нашел хороший способ ее решить.