我已经有一段时间没有使用纯C了,现在我正在一个C++项目中开发一个API。这些方法大部分都是C方法,所有的返回值都是C结构体,除了一个需要返回vector<string>
的方法。现在我的问题来了,C++的方法/库/其他能否从C中调用?我问这个问题是因为我不知道使用API的人会使用C还是C++编写代码,我觉得我应该只返回C结构体。那么这就要求我返回一个char**
,对吗?
如果上面的内容不太清楚,请看以下简短版:
简短版 - 如果一个C++方法返回一个C结构体,我能从C中调用它吗?如果可以,vector<string>
最好(唯一?)等价的返回值是什么?char**
吗?
更新:这些C++方法只是全局方法,没有类或面向对象的东西。除了我的vector问题之外,唯一与C++相关的东西是一些stringstreams
。
char *blah[] = {"are", "you", "sure?", NULL}; return blah;
- Matt Joiner