Привет Я новичок в 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;
этот вопрос является компилятор дает мне сообщение об ошибке: т [л] = р при Li этой ошибки: выражение должно иметь целостный или незаданный перечислимый тип и при = я быть_наст эта ошибка: значение типа int не может быть присвоено сущности типа int *
PS функция должна возвращать массив и его размер (var t: tab; var l: integer)
Вы не можете использовать локальные переменные, которые имеют одинаковые имена в качестве аргументов функции таким образом. – MikeCAT
И? Какой у Вас вопрос? В чем проблема? – NathanOliver
Проблема заключается в том, что компилятор дает мне сообщение об ошибке: t [l] = p under li имеет эту ошибку: выражение должно иметь интегральный или неперечисленный тип перечисления, а под = i есть эта ошибка: значение типа int не может быть присвоено объект типа int * – gymn