我有一个Visual Studio 2008 C ++应用程序,我正在使用一个接受一组空终止字符串数组的函数:
/// @brief count - number of pairs
/// @brief pairs - pairs of strings
void Foo( int count, const char* pairs[][ 2 ] );
我有一个std::vector< char >
,其中包含由null-terminators分隔的字符串。我希望能够做到这样的事情:
std::vector< char > my_pairs;
Foo( pair_count, ( const char* pairs[][ 2 ] )&my_pairs.front() );
但是,编译器提醒我这是不可能的:
错误C2440:'type cast':无法从'char *'转换为'const char * [] [2]'
有没有办法让这项工作?
谢谢, PaulH
答案 0 :(得分:1)
函数Foo
需要一组指针对。
在你的矢量中你有角色。
您需要创建一组指针对。最简单的方法是初始化那些指向指向矢量缓冲区的指针。