我有一个函数声明,其中一个参数是类构造函数的默认参数,如下所示:
fetch("https://helpbox-by-avense.se/api/company/1/init-info",{headers:{Accept:"application/json","Content-Type":"application/json"}}).then(function(t){return t.json()}).then(function(t){var n=t.sellers[Math.floor(Math.random()*Math.floor(t.sellers.length))];u.src=t.logo_url,document.querySelectorAll("[data-seller-profile]").forEach(function(t){var e="";e+="<img class='hbba-profile-img' src='"+n.profile_image+"'>",e+="<div class='hbba-desc-wrapper'>",e+="<span class='hbba-desc-name'>"+n.name+"</span>",e+="<span class='hbba-desc-title'>"+n.job_title+"</span>",e+="</div>",e+="<div class='hbba-is-active'></div>",t.innerHTML=e})})
其中size是一个常量const,它初始化为41.64
我正在将此功能移植到Linux,并且遇到了GCC(v4.8.5)问题。该代码可以在MS Visual Studio 2008中很好地编译,但不能与GCC一起编译。
我尝试过int someFunction(int seed, int x, Metrics& metrics = Metrics(size));
,但这没用。
我从GCC收到的错误是:
错误:无法将“ Metrics(4.164e + 1)”从“ Metrics”转换为“ Metrics&”
答案 0 :(得分:0)
阅读@FrancoisAndrieux链接的问题后,我将其更改为:
int someFunction(int seed, int x, Metrics* metrics = &Metrics(size));