# Compilatori C e C++

**URL:** <https://forum.olinfo.it/t/compilatori-c-e-c/8164>\
**Category:** Linguaggi\
**Created:** [7 Aprile 2023, 10:04pm UTC](https://forum.olinfo.it/t/compilatori-c-e-c/8164 "2023-04-07T22:04:49Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Fearingtable](https://forum.olinfo.it/user_avatar/forum.olinfo.it/fearingtable/32/2780_2.png) [@Fearingtable](https://forum.olinfo.it/u/Fearingtable)\
**Post date:** [7 Aprile 2023, 10:04pm UTC](https://forum.olinfo.it/t/compilatori-c-e-c/8164/1 "2023-04-07T22:04:49Z")

</div>

Buonasera volevo chiedervi gentilmente un chiarimento riguardo questo pezzo di codice che in C non da problemi e in C++ il compilatore da errore. Come mai?

```auto
    X = malloc(N * sizeof(int));
    P = malloc(N * sizeof(int));
    S = malloc(N * sizeof(int));

```

L’errore in questione è "invalid conversion from ‘void\*’ to ‘int\*’ ". X, P e S sono dichiarate con int \*X, \*P, \*S.

---

<div class="post-metadata">

**Author:** ![Zaccaria](https://forum.olinfo.it/user_avatar/forum.olinfo.it/zaccaria/32/1728_2.png) [@Zaccaria](https://forum.olinfo.it/u/Zaccaria)\
**Post date:** [8 Aprile 2023, 7:50am UTC](https://forum.olinfo.it/t/compilatori-c-e-c/8164/2 "2023-04-08T07:50:59Z")

</div>

Ciao,  
penso che il problema sia dato dal fatto che in C++ la conversione da `void*` a `int*` non sia automatica ma debba essere fatto un casting manuale.  
Teoricamente questo dovrebbe essere il codice:

```auto
int *X, *P,*S;
X = (int*)malloc(N * sizeof(int));
P = (int*)malloc(N * sizeof(int));
S = (int*)malloc(N * sizeof(int));

```

---

<div class="post-metadata">

**Author:** ![Fearingtable](https://forum.olinfo.it/user_avatar/forum.olinfo.it/fearingtable/32/2780_2.png) [@Fearingtable](https://forum.olinfo.it/u/Fearingtable)\
**Post date:** [8 Aprile 2023, 10:05am UTC](https://forum.olinfo.it/t/compilatori-c-e-c/8164/3 "2023-04-08T10:05:17Z")

</div>

> [@Zaccaria](#):
>
> roblema sia dato dal fatto che in C++ la conversione da `void*` a `int*` non sia autom

Va bene, grazie mille ora va.
