簡體   English   中英

避免(模糊調用重載函數)

[英]Avoiding (ambiguous call to overloaded function)

早上好,我在另一個站點上解決了一個問題,我不得不進行一個運算,將一個數字除以另一個,然后輸出一個整數,而不管輸出的是什么,因此我將公式設為:

#include <iostream>
using namespace std;

int main(){
 int n,y=0;
 double x=0.0;
 cin >> n;

if(n%100 == 0){
    y= n%100;
    x+= floor(n/100);
    if(y%20 == 0){
        x += floor(y/20);
        y= y%20;
        if(y%10 == 0){
           x+= floor(y/10);
           y= y%10;
            if(y%5 == 0){
                x += floor(y/5);
                y= y%5;
                if(y%1 == 0)
                x+= floor(y/1);
            }
        }
    }
}
cout >> x;
}

我最終得到錯誤:

program.cpp(12) : error C2668: 'floor' : ambiguous call to overloaded function

制作同樣的程序時如何避免此類錯誤?

您需要包括cmath才能使用發言權功能。 cmath庫聲明了一組函數來計算常見的數學運算和轉換:

#include <cmath>

資料來源: http : //www.cplusplus.com/reference/cmath/floor/

同樣,將底線更改為cout << x;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM