如何解决错误:来自"的无效转换int *"到" int"

时间:2017-01-25 16:30:35

标签: c++ int

需要一些问题的帮助 当我编译下面的代码时,它给了我这个错误:

  

错误:来自"的转换无效int*"到" int"

我想创建一个calculatePercentage函数,所以我可以在调用它时使用该值。

void calculatePercentage(int voteResult[],int percentage[])

const int NO_OF_CANDIDATE = 10;

int main()
    {     
        ifstream input("votes.txt",ios::in);

        string candidates[NUMBER_OF_CANDIDATE];
        int    voteResult[NUMBER_OF_CANDIDATE]; 
        int    percentage[NUMBER_OF_CANDIDATE];   

        for (int i = 0; i < NUMBER_OF_CANDIDATE; i++) {
            input >> candidates[i] >> voteResult[i];  
        } 
        calculatePercentage(voteResult, percentage); // error happened here.

        return 0;
    }

void calculatePercentage(int voteResult[],int percentage[])
{
    int totalVotes = 0;
        for (int i = 0; i < NUMBER_OF_CANDIDATE; i++) 
        {
            totalVotes += votes[i];
        }
        for (int j = 0; j < NUMBER_OF_CANDIDATE; j++) 
        {
            double wk_percentage  = static_cast<double>{votes[j])/totalVotes;
            percentage[j]=static_cast<int>(wk_percentage*100);
        }

}

2 个答案:

答案 0 :(得分:1)

您发布的代码有很多错误。

  1. calculatePercentage()定义缺少结束&#39;;&#39;
  2. NO_OF_CANDIDATE与NUMBER_OF_CANDIDATE
  3. 之间可能的名称不匹配
  4. 缺少#include&lt; fstream&gt; (使用ifstream)
  5. 缺少#include&lt; string&gt;
  6. <android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView app:layout_widthPercent="50%" app:layout_heightPercent="50%" app:layout_marginTopPercent="25%" app:layout_marginLeftPercent="25%"/> </android.support.percent.PercentRelativeLayout> ifstream
  7. 之前缺少std :: namespace
  8. string未在任何地方声明(应该是votes?)
  9. 错误地在voteResult
  10. 中打开花括号

    ... 更别说你进行计算和参数传递的方式......

    以下编辑过的代码应该编译,不确定它是否按预期工作:

    static_cast<double>{votes[j])/totalVotes;

    同样在Ideone

答案 1 :(得分:1)

感谢大家的评论。我在发帖时跳过了一些陈述并做了一些拼写错误。我把它们固定如下。发生的唯一错误是仍然无法转换&#34; int *&#34;来自&#34; INT&#34 ;.只是不知道如何解决它。

cellForRowAtIndexPath