我有一個通過向量的地址的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])'? –
如果vector是空的,函數()如何填充矢量?這種不確定行爲的味道。 – rozina