我有一个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 >
,其中包含用空终止符分隔的字符串。我希望能够执行以下操作:std::vector< char > my_pairs;
Foo( pair_count, ( const char* pairs[][ 2 ] )&my_pairs.front() );
但是,编译器提醒我这是不可能的:
错误C2440:“类型转换”:无法从“字符*”转换为“常量字符* [] [2]”
有没有办法使这项工作?
谢谢,
保罗·H
最佳答案
函数Foo
需要一个成对的指针数组。
在向量中,您有字符。
您需要创建一个成对的指针数组。最简单的方法是初始化这些指针,使其指向向量的缓冲区。
关于c++ - 从vector <char>转换为字符串数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4465049/