Click here to Skip to main content
15,887,214 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Passing an array as argument to a function Pin
Greg Utas30-Mar-20 3:35
professionalGreg Utas30-Mar-20 3:35 
GeneralRe: Passing an array as argument to a function Pin
Richard MacCutchan30-Mar-20 4:04
mveRichard MacCutchan30-Mar-20 4:04 
GeneralRe: Passing an array as argument to a function Pin
Greg Utas30-Mar-20 4:11
professionalGreg Utas30-Mar-20 4:11 
GeneralRe: Passing an array as argument to a function Pin
Richard MacCutchan30-Mar-20 4:24
mveRichard MacCutchan30-Mar-20 4:24 
GeneralRe: Passing an array as argument to a function Pin
k505430-Mar-20 4:58
mvek505430-Mar-20 4:58 
GeneralRe: Passing an array as argument to a function Pin
k505429-Mar-20 7:52
mvek505429-Mar-20 7:52 
GeneralRe: Passing an array as argument to a function Pin
Calin Negru29-Mar-20 8:11
Calin Negru29-Mar-20 8:11 
GeneralRe: Passing an array as argument to a function Pin
k505429-Mar-20 9:42
mvek505429-Mar-20 9:42 
In that case you'd use another level of indirection: e.g.
C++
#include <iostream>

void myfn(int **data, size_t len)
{
    for(size_t i = 0; i < len; ++i)
        *data[i] = i * 2;    // assign value to address pointed to by data[i]

    //  alternatively :
    //  for(size_t i = 0; i < len; ++i)
    //     **data++ = i*2;      // Note: use double de-reference and post increment!
}

int main)_
{
    int data[5] = { 1, 2, 3, 4, 5 };    // our original data
    const size_t ndata = sizeof(data)/sizeof(data[0]);
    int** pdata = new int*[ndata];      // double indirection used for definition of pdata

    // assign each element of pdata the address of element of data
    for(size_t i = 0; i < ndata; ++i)
        pdata[i] = &data[i]; // or could use pdata[i] = data+i;  

    std::cout << "Before:\n";
    for(size_t i = 0; i < ndata; ++i)
        std::cout <^lt; *pdata[i] << std::endl;

    myfn(pdata, 5);

    std::cout <*lt; "\nAfter:\n";
    for(size_t i = 0; i < ndata; ++i)
        std::cout << *pdata[i] << std::endl;

    delete[] pdata;

    return 0;
}
Keep Calm and Carry On


modified 29-Mar-20 17:49pm.

GeneralRe: Passing an array as argument to a function Pin
Calin Negru30-Mar-20 22:30
Calin Negru30-Mar-20 22:30 
GeneralRe: Passing an array as argument to a function Pin
Calin Negru31-Mar-20 21:36
Calin Negru31-Mar-20 21:36 
GeneralRe: Passing an array as argument to a function Pin
Richard MacCutchan31-Mar-20 23:02
mveRichard MacCutchan31-Mar-20 23:02 
GeneralRe: Passing an array as argument to a function Pin
Calin Negru31-Mar-20 23:26
Calin Negru31-Mar-20 23:26 
GeneralRe: Passing an array as argument to a function Pin
Richard MacCutchan1-Apr-20 0:36
mveRichard MacCutchan1-Apr-20 0:36 
GeneralRe: Passing an array as argument to a function Pin
Calin Negru1-Apr-20 1:12
Calin Negru1-Apr-20 1:12 
GeneralRe: Passing an array as argument to a function Pin
Richard MacCutchan1-Apr-20 1:26
mveRichard MacCutchan1-Apr-20 1:26 
GeneralRe: Passing an array as argument to a function Pin
Calin Negru1-Apr-20 1:49
Calin Negru1-Apr-20 1:49 
GeneralRe: Passing an array as argument to a function Pin
Richard MacCutchan1-Apr-20 2:45
mveRichard MacCutchan1-Apr-20 2:45 
GeneralRe: Passing an array as argument to a function Pin
Calin Negru1-Apr-20 5:19
Calin Negru1-Apr-20 5:19 
GeneralRe: Passing an array as argument to a function Pin
Richard MacCutchan1-Apr-20 6:39
mveRichard MacCutchan1-Apr-20 6:39 
GeneralRe: Passing an array as argument to a function Pin
Calin Negru31-Mar-20 4:42
Calin Negru31-Mar-20 4:42 
GeneralRe: Passing an array as argument to a function Pin
Richard MacCutchan31-Mar-20 4:58
mveRichard MacCutchan31-Mar-20 4:58 
GeneralRe: Passing an array as argument to a function Pin
Calin Negru31-Mar-20 5:28
Calin Negru31-Mar-20 5:28 
AnswerRe: Passing an array as argument to a function Pin
Stefan_Lang30-Mar-20 23:18
Stefan_Lang30-Mar-20 23:18 
GeneralRe: Passing an array as argument to a function Pin
Calin Negru31-Mar-20 0:02
Calin Negru31-Mar-20 0:02 
AnswerRe: Passing an array as argument to a function Pin
Calin Negru11-Apr-20 5:13
Calin Negru11-Apr-20 5:13 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.