常量char继续转换为int

Sir*_*gio 1 c++ c++builder

Stackoverflow用户!
我正在使用Borland C++ Builder 6来创建我的程序.是的,我知道它已经过时了两年,但是,我必须使用这个IDE.我有一个我需要拆分的字符串.所以我使用以下方法:

void Orders::split(TStringList* lout, char* str, const char* separator) {
  for(char* tok = strtok(str, separator); tok!=NULL; tok = strtok(NULL, separator))
      lout->Add(tok);
}
Run Code Online (Sandbox Code Playgroud)

另外,我有一个定义为预处理器常量的分隔符:

#define SEPARATOR ':'
Run Code Online (Sandbox Code Playgroud)

然后我调用split方法

split(ords, input.c_str(), SEPARATOR);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

[C++错误] File3.cpp(47):E2034无法将'int'转换为'const char*'

在线上,我称之为split方法.转换为const char*会导致相同的结果.IDE中是否存在错误,或者我是否因为在代码中看到自己的错误而愚蠢?
提前致谢!

K-b*_*llo 6

strtok正在寻找一个const char*分隔符.尝试这样定义它:

#define SEPARATOR ":"
Run Code Online (Sandbox Code Playgroud)

这是因为您可以指定一组分隔符,以便在找到任何这些字符时strtok停止.