No std::vector, no. All that has been fixed is right.
In general, this is not attractive for using C ++ code, but it can be done. You have to wrap the classes in simple non-classical functions that your C code can call, since C does not execute classes. So that you can use these functions from C, you then wrap them with a declaration extern "C"to tell the C ++ compiler not to manipulate names.
++ , C. :
#include <iostream>
extern "C" {
void print_cout(const char *str) {
std::cout << str << std::endl;
}
}
void print_cout(const char *);
int main(void) {
print_cout("hello world!");
return 0;
}