你好,我是在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