C++ 如何解决错误:从“转换”无效;int*”;至;int";
需要一些帮助来解决这个问题。C++ 如何解决错误:从“转换”无效;int*”;至;int";,c++,int,C++,Int,需要一些帮助来解决这个问题。 当我编译下面的代码时,会出现以下错误: 错误:从“int*”到“int”的转换无效 我想创建一个calculatePercentage函数,这样我可以在调用它时使用该值 void calculatePercentage(int voteResult[],int percentage[]) const int NO_OF_CANDIDATE = 10; int main() { ifstream input("votes.txt"
当我编译下面的代码时,会出现以下错误: 错误:从“
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);
}
}
void计算百分比(int voteResult[],int percentage[]
const int NO_OF_候选者=10;
int main()
{
ifstream输入(“voces.txt”,ios::in);
字符串候选者[候选者的数量];
int voteResult[候选人人数];
整数百分比[候选人人数];
for(int i=0;i<候选数量;i++){
输入>>候选人[i]>>投票结果[i];
}
calculatePercentage(voteResult,percentage);//此处发生错误。
返回0;
}
无效计算百分比(int voteResult[],int percentage[]
{
整数总票数=0;
for(int i=0;i<候选数量;i++)
{
总票数+=票数[i];
}
for(int j=0;j<候选数量;j++)
{
双倍工作百分比=静态投票{票数[j])/总票数;
百分比[j]=静态铸造(工作周百分比*100);
}
}
您发布的代码有一系列错误
ifstream
和string
投票
未在任何地方声明(是否应该是voteResult
?)static_cast{voates[j])/totalvoates;
#include <fstream>
#include <string>
void calculatePercentage(int voteResult[], int percentage[]);
const int NUMBER_OF_CANDIDATE = 10;
int main()
{
std::ifstream input("votes.txt");
std::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 += voteResult[i];
}
for (int j = 0; j < NUMBER_OF_CANDIDATE; j++)
{
double wk_percentage = static_cast<double>(voteResult[j]) / totalVotes;
percentage[j] = static_cast<int>(wk_percentage*100);
}
}
#包括
#包括
无效计算百分比(int voteResult[],int percentage[]);
const int NUMBER_OF_候选者=10;
int main()
{
std::ifstream输入(“vows.txt”);
std::字符串候选者[候选者的数量];
int voteResult[候选人人数];
整数百分比[候选人人数];
for(int i=0;i<候选数量;i++){
输入>>候选人[i]>>投票结果[i];
}
calculatePercentage(voteResult,percentage);//此处发生错误。
返回0;
}
无效计算百分比(int voteResult[],int percentage[]
{
整数总票数=0;
for(int i=0;i<候选数量;i++)
{
总票数+=投票结果[i];
}
for(int j=0;j<候选数量;j++)
{
双倍工作百分比=静态投票(voteResult[j])/总投票数;
百分比[j]=静态铸造(工作周百分比*100);
}
}
同样在。谢谢大家的评论。我跳过了一些语句,在发布它们时犯了一些错误。我修复了它们,如下所示。发生的唯一错误是仍然无法将“int*”从“int”转换。只是不知道如何解决它
#include <fstream>
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
void calculatePercentage(int voteResult[],int percentage[]);
const int NUMBER_OF_CANDIDATE = 10;
int main()
{
ifstream input("votes.txt",ios::in);
string candidates[NUMBER_OF_CANDIDATE];
int vote[NUMBER_OF_CANDIDATE];
int percentage[NUMBER_OF_CANDIDATE];
for (int i = 0; i < NUMBER_OF_CANDIDATE; i++) {
input >> candidates[i] >> vote[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);
}
}
#包括
#包括
#包括
#包括
使用名称空间std;
无效计算百分比(int voteResult[],int percentage[]);
const int NUMBER_OF_候选者=10;
int main()
{
ifstream输入(“voces.txt”,ios::in);
字符串候选者[候选者的数量];
整数票[候选人人数];
整数百分比[候选人人数];
for(int i=0;i<候选数量;i++){
输入>>候选人[i]>>投票[i];
}
calculatePercentage(voteResult,percentage);//此处发生错误。
返回0;
}
无效计算百分比(int voteResult[],int percentage[]
{
整数总票数=0;
for(int i=0;i<候选数量;i++)
{
总票数+=票数[i];
}
for(int j=0;j<候选数量;j++)
{
双倍工作百分比=静态投票(票数[j])/总票数;
百分比[j]=静态铸造(工作周百分比*100);
}
}
你有一个不匹配的括号:静态投票{
(100*票[j])/totalvows
去掉所有的投票。候选人的人数是假设是没有候选人
?是投票[i]
假设是投票结果[i]
?编译此示例会产生与问题所问问题不同的错误。太多的转录错误,而此处没有任何明显会导致所述错误的内容。请提供一个。一旦拼写错误修复,它似乎可以工作。我可以用您的注释运行它。非常感谢。您做了一个“拼写错误”:voteResult
应该是vote
。您应该有类似于“使用未声明的标识符'voteResult'的以前的错误”(编译器可能会使用int
type to unknown变量来允许在文件中提供更多错误,以及不兼容的类型)。查看完整的生成日志,而不仅仅是恢复错误部分“。顺便说一句,这不是答案,你应该改为编辑你的帖子(但注意不要使现有答案无效)。