【发布时间】:2014-09-03 08:10:48
【问题描述】:
我有这样的代码: 请原谅我用波兰语命名的东西,我希望这不是问题。如果你愿意,我可以改变它们。
#include <iostream>
#include <vector>
#include <math.h>
using namespace std;
//a few unimportant functions
void zamianaNaDziesietny(int podstawa, int liczba, int reszta[])
{
vector < int > cyfra;
cout <<"\n";
for(int a = reszta.size(); a > 0; a--)
{
cyfra.push_back(reszta[a - 1] * pow(podstawa, a - 1));
}
for(int a = 1; a < cyfra.size(); a++)
{
cyfra[0] += cyfra[a];
}
cout << cyfra[0];
}
void zamianaNaDziesietny(int podstawa, int liczba, int reszta[])
{
vector < int > cyfra;
cout <<"\n";
for(int a = reszta.size(); a > 0; a--) //request for member 'size' in 'reszta', which is of non-class type 'int*'
{
cyfra.push_back(reszta[a - 1] * pow(podstawa, a - 1));
}
for(int a = 1; a < cyfra.size(); a++)
{
cyfra[0] += cyfra[a];
}
cout << cyfra[0];
}
//another unimportant part of code
int main()
{
//unimportant stuff
zamianaZDziesietnego(podstawa, liczba);
zamianaNaDziesietny(podstawa, liczba, reszta);
return 0;
}
我不知道如何在函数“zamiananaDziesietny”中使用向量“reszta”作为参数。 我应该输入什么来让这个程序编译?
我收到 2 个错误: 其中之一是: 'reszta' 未在此范围内声明
这是一个数组...哦,向量是一种数组...我想...我是菜鸟,所以我总是会出错。
我可以在 main 中处理这个向量,添加“cout
我不知道如何在函数中使用向量作为参数。
我得到的第二个错误是: 请求“reszta”中的成员“size”,它是非类类型“int*” 它在第 32 行。
所以这是我的问题。 我试过用几种不同的方式输入这个参数。
当我尝试: void zamianaNaDziesietny(int podstawa, int liczba, 矢量 reszta[])
第二个错误改为: 在'reszta'中请求成员'size',它是指针类型'std::vector*'(也许你打算使用'->'?)|
下面几行还出现了一个新错误:
'*(reszta + ((((sizetype)a) + -1u) * 12u)) * pow((double)podstawa, (double)(a + -1)) 中的 'operator*' 不匹配'|
嗯,我是个大菜鸟,我不知道如何解决这个问题。有人可以帮忙吗?
顺便说一句,如果有人感兴趣 - 我正在制作一个程序,将二进制数转换为十进制数,反之亦然。
【问题讨论】: