C++ string to char *

半伪代码:

void main {

  string line;

  getline(ifs, line);
  replace(line.begin(), line.end(), ',', '\n');
  replace(line.begin(), line.end(), '\r', '\n');

  istringstream iss(line);
  string grid;
  while (getline(iss, grid)) {
    ret.push_back(grid);
  }

}  

 

  (这段摘的)默认情况下,GCC 5在编译时会将std::string类型按c++11下std::__cxx11::basic_string<char> 来处理,这时如果你调用的库在编译时未启用c++11特性则其中的std::string实际上是std::basic_string<char> ,这时如果将c++11下的string当作参数传入非c++11的库时,就会出现error: cannot convert 'const std::__cxx11::basic_string<char>' to 'const char*',或者未定义的方法引用(undefined reference

posted @ 2017-06-14 16:10  kilen  阅读(527)  评论(0编辑  收藏  举报