gpt4 book ai didi

c++ - 为什么编译器调用第一个重载函数而不是第二个?

转载 作者:行者123 更新时间:2023-11-28 06:16:05 25 4
gpt4 key购买 nike

考虑以下程序。

#include <iostream>
void fun(const char a[]) {
std::cout<<"function 1\n";
std::cout<<a<<'\n';
}
void fun(char *a) {
std::cout<<"function 2\n";
std::cout<<a<<'\n';
}
int main() {
fun("string");
}

我应该在程序中更改什么才能调用第二个函数而不是第一个函数?

最佳答案

当你传入“string”时,你传递的是一个 const char *

您可以做的是声明一个 char * 并将其设置为某个值,然后将其传递给第二个函数。

"string"是一个 const char*,它将转到第一个函数

关于c++ - 为什么编译器调用第一个重载函数而不是第二个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30284696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com