你好,我是在C新++,我想我的代码从帕斯卡到C转换++,所以这是我的尝试:有人能帮助我解决我的C++代码
void decomp(int x, int *t[], int *l){
int p = 2;
int l = 0;
do{
if (x % p == 0){
x = x/p;
t[l] = p;
l += 1;
}
else { p += 1; }
} while (x != 1);
}
,这是正确的功能是帕斯卡如果有人需要它理解:
procedure decomp(x:integer; var t : tab; var l : integer);
var
p : integer;
begin
l : = 0;
p: = 2;
repeat
if (x mod p = 0) then
begin
x : = x div p;
l: = l + 1;
t[l]: = p;
end
else
p: = p + 1;
until(x = 1);
end;
问题已编译器给我一个错误消息:T [1] = p的作用下立有这样的错误:表达式必须具有整数或无作用域枚举类型和下=我有此错误:int类型的值不能分配给int类型的实体*
PS函数需要返回一个数组和他的大小(var t:tab; var l:integer)
不能使用具有相同名称作为这样函数参数的局部变量。 – MikeCAT
而且?你的问题是什么?你的问题是什么? – NathanOliver
问题是编译器给了我一个错误消息:t [l] = p在li下有这个错误:表达式必须有整型或unscoped枚举类型,并且在下=我有这个错误:int类型的值不能被赋值给int * – gymn