从矢量转换< char>到一个字符串数组

时间:2010-12-16 20:26:18

标签: c++ stl vector

我有一个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

1 个答案:

答案 0 :(得分:1)

函数Foo需要一组指针对。

在你的矢量中你有角色。

您需要创建一组指针对。最简单的方法是初始化那些指向指向矢量缓冲区的指针。