У меня есть функция API, которая проходит адрес вектора:передавая указатель на функцию API
function_A()
{
function_B();
}
function_B()
{
vector<int> tempVector;
function(&tempVector[0]); // <---- API function: fills the vector with values
...
}
Создание tempVector
находится в function_B
и он прекрасно работает.
Я хочу, чтобы создание tempVector
было в function_A
и передать указатель на него, поэтому другие функции в программе также будут использовать данные внутри tempVector
.
Я попытался передать указатель на tempVector
по нескольким причинам: function(...)
, но я всегда получаю ошибки.
function_A()
{
vector<int> tempVector; // <--- creation here
function_B(&tempVector); // pass its address
//use tempVector
}
function_B(vector<int> * tempVector) // receive its address
{
function(); // <---- API function: how should I pass tempVector?
...
}
ли вы попробовать 'tempVector-> данные()' или '& ((* tempVector) [0])'? –
Как функция '(') заполняет вектор, если вектор пуст? Это пахнет неопределенным поведением. – rozina