#include <iostream>
#include <cstdlib>
using std::cout, std::endl;


/*
    В отличии от языка C, язык C++ не делает неявное преобразование типов указателей.

    Рассмотрим, например, код:

        int a = 10;
        char* p = &a;

    В языке C такой код сработает, несмотря на то, что в строке  char* p = &a;  слева стоит указатель типа char*
    а справа объект типа int*. Будет произведено неявное преобразование типов указателей.

    В языке C++ такой код приведёт к ошибке, так как C++ не преобразует указатели неявно.



    Рассмотрим, например, код:

        int* q = malloc(10 * sizeof(int));

    В языке C такой код сработает, несмотря на то, что слева стоит указатель типа int*
    а справа объект типа void* (malloc возвращает указатель типа void*). 
    Будет произведено неявное преобразование типов указателей.

    В языке C++ такой код приведёт к ошибке, так как C++ не преобразует указатели неявно.
*/



int main()
{
    int a = 10;
    char* p = &a;


    int* q = malloc(10 * sizeof(int));
}




/*

    Задача:

    Исправьте ошибки компиляции, явно приведя указатель к правильным типам. 

*/