Las incompatibilidades C / C ++ que causan la mayoría de los problemas reales no son sutiles. La mayoría son fácilmente capturados por los compiladores.
Esta sección ofrece ejemplos de código C que no es C ++:

1) En C, las funciones se pueden definir usando una sintaxis que opcionalmente especifica tipos de argumentos después de la lista de argumentos:

#include<stdio.h>

void fun(a, b)int a;int b;    

{

    printf("%d %d", a, b);

}

 

int main()

{

    fun(8, 9);

    return 0;

}

Output:
8 9 
Error in C++ :-  a and b was not declared in this scope 

2) En C y en las versiones preestándar de C ++, el especificador de tipo se establece de forma predeterminada en int.

#include<stdio.h>

int main()

{

    

    const a = 7;    

     

    printf("%d", a);

    return 0;

}

Output:
7
Error in C++ :-  a does not name a type 

3) En C, un objeto de datos globales puede declararse varias veces sin utilizar el externo especificador. Siempre que como máximo una de estas declaraciones proporcione un inicializador, el objeto se considera definido solo una vez.

#include<stdio.h>

 

int a;   int a;  

int main()

{

    return 0;

}

/ div>

Error in C++ :-  Redefinition of int a

4) En C, un vacío * puede usarse como el operando de la derecha de una asignación o inicialización de una variable de cualquier tipo de puntero.

#include<stdio.h>

#include<malloc.h>

void f(int n)

{

    

    

    int* p = malloc(n* sizeof(int));  

}

 

int main()

{

    f(7);

    return 0;

}

Error in C++ :-  Invalid conversion of void* to int*

5) En C, una matriz puede inicializarse mediante un inicializador que tiene más elementos de los que requiere la matriz.

#include<stdio.h>

int main()

{

    

    char array[5] = "Geeks";      

 

    printf("%s", array);

    return 0;

}

Producción:

Geeks
Error in C++ :-  Initializer-string for array of chars is too long

6) En C, una función declarada sin especificar ningún tipo de argumento puede tomar cualquier número de argumentos de cualquier tipo. Haga clic aquí para saber más sobre esto.

#include<stdio.h>

 

void fun() {  } 

int main(void)

{

    fun(10, "GfG", "GQ");  

    return 0;

}

Error in C++ :-  Too many arguments to function 'void fun()'

Artículos relacionados:

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema discutido anteriormente.


También podría gustarte

Suscríbete a nuestro boletín

Usamos cookies para brindar y mejorar nuestros servicios. Al utilizar nuestro sitio, acepta nuestra Política de cookies.


Aprende más

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *