Is there a way to pass 'std::vector 2d' as a pointer to '2d c array' to a function
===

Is there a way to pass 'std::vector 2d' as a pointer to '2d c array' to a function.

I know you can pass std::vector 1d as a pointer to c array to some function. 
for example,
function:

    void foo(char* str); //requires the size of str to be 100 chars

    std::vector str_;
    str_.resize(100);
    foo(&str_); //works

I'm wondering if it is possible for 2d vectors too like for 
function 

    void foo(char** 2d_arr);
and vector 

    std::vector 2d_vector<std::vector<char>>

I tried the following code but im getting some error related to heap corruption.
assuming function expects the size of the vector to be 10x10   
   
    std::vector<std::vector<unsigned char>> 2d_vector;
    binaries_.resize(10);
    for(int i=0;i<10;i++)
    {
        binaries_[i].resize(10);
    }


