错误:来自' char'的无效转换到#char; char *' [-fpermissive] |

时间:2017-03-25 13:21:45

标签: c++ c

只是一个尝试编程的菜鸟 我正面临着错误,我不知道如何解决它 我希望函数重新调整一个可用于在主

中进一步使用的字符串
char word_inventory(int ran)
{
    char cities[][12]={
        "ambala",
        "yamunanagar",
        "delhi",
        "gurgaon",
        "jaipur",
        "chandigarh",
        "pune",
        "mumbai",
        "dehradun",
        "rajpura"
        };
    return cities[ran];

}
int main()
{    int win=0;
     cout<<"welcome to hangman"<<endl;
    cout<<"guess the city"<<endl;
    randum = rand() % 10 + 0;
    strcpy(word,word_inventory(randum)); //here is the error
    x=strlen(word);

1 个答案:

答案 0 :(得分:2)

立即错误是(defun show-in-finder () (interactive) (shell-command (concat "open -R " buffer-file-name))) 是一个字符数组,它与函数的返回类型不匹配。数组会衰减为指向第一个元素的指针,因此您可以返回cities[ran]

更大的问题是指针无效,因为它指向的数组的生命周期在函数调用结束时结束。一种解决方案是生成数组char *,因此它具有永久生命周期。