C++字符串和字符

C++字符串和字符,c++,string,c-str,C++,String,C Str,我试图把C++字符串转换成cstring或char *。我想要一个接受 从字符串转换后始终调用char*。我已经看了一个小时的代码,也在搜索。不走运 char* a = "foo"; string b = "foo"; hash(a, 1); // calls the char* hash hash(b, 1); // calls string hash int hash(string key, int i){//STRING HASH char const* cstring = k

我试图把C++字符串转换成cstring或char *。我想要一个接受 从字符串转换后始终调用char*。我已经看了一个小时的代码,也在搜索。不走运

char* a = "foo";
string b = "foo";

hash(a, 1); // calls the char* hash
hash(b, 1); // calls string hash

int hash(string key, int i){//STRING HASH
    char const* cstring = key.c_str();
    return hash(cstring, i);//should not be a recursive call but is
}

int hash(char* key, int i){//Cstring HASH
    //should get called here
    return hash(intKey, i);
}
我希望这足够清楚。这是漫长的一天!:-p


有趣的是char*a和char const*a从main调用char*方法,而不是从string方法调用。有趣

按请求发布为应答将哈希函数更改为int hashchar const*key,int i