我有一个传递 vector 地址的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_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?
...
}
最佳答案
为什么将其作为C指针而不是C++引用传递?
function_A()
{
vector<int> tempVector;
function_B(tempVector);
//use tempVector
}
function_B(vector<int>& tempVector)
{
function(&tempVector[0]);
...
}
关于c++ - 传递指向API函数的指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30029596/