函数指针运行不出,报错内容读不懂

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结
#include<stdio.h>
void print(char* str)
{
    printf("%s\n", str);
}
int main()
{
    void (*p)(char*) = print;
    (*p)("hello world");
    return 0;
}
报错

错误    C2664    “void (char *)”: 无法将参数 1 从“const char [12]”转换为“char *”    

这么改下,供参考:

#include<stdio.h>
void print(const char* str)
{
    printf("%s\n", str);
}
int main()
{
    void (*p)(const char*) = print;
    (*p)("hello world");
    return 0;
}