Este es el código que me da error probándolo con Visual Studio 2022 de C++ nativo.
Gravedad Código Descripción Proyecto Archivo Línea Estado suprimido Detalles Error (activo) E0289 ninguna instancia del constructor "Serial::Serial" coincide con la lista de argumentos Arduino y puerto serie CPP Consola 01 D:\Visual Studio 2022\Arduino y puerto serie CPP Consola 01\Arduino y puerto serie CPP Consola 01\Arduino y puerto serie CPP Consola 01.cpp 56
Gravedad Código Descripción Proyecto Archivo Línea Estado suprimido Detalles Error C2665 'Serial::Serial':ninguna función sobrecargada pudo convertir todos los tipos de argumento Arduino y puerto serie CPP Consola 01 D:\Visual Studio 2022\Arduino y puerto serie CPP Consola 01\Arduino y puerto serie CPP Consola 01\Arduino y puerto serie CPP Consola 01.cpp 56
Código
/*
Para crear conexión con los puertos COM1 - COM9.
Serial* Arduino = new Serial("COM7");
Para crear conexión con los puertos COM10 en adelante.
Serial* Arduino = new Serial("\\\\.\\COM10");
*/
#include <iostream>
#include <fstream>
#include <windows.h> // Para mostrar texto en el título de la ventana.
#include <stdio.h> // Cambio color de fondo y letras.
#include "SerialClass.h"
usingnamespace std;
//using std::cout;
//using std::cin;
// Función posición del cursor.
void gotoxy(int ancho_x, int alto_y)
{
HANDLE hcon;
hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos{};
dwPos.X= ancho_x;
dwPos.Y= alto_y;
SetConsoleCursorPosition(hcon, dwPos);
}
int main()
{
#pragma region "Configuración ventana."
// Mostrar caracteres correctamente en pantalla y título de la ventana.
SetConsoleOutputCP(65001);
wchar_t titulo[128];
MultiByteToWideChar(CP_UTF8, 0, "Arduino puerto serie - C++ nativo", -1, titulo, 128);
SetConsoleTitleW(titulo);
// Tamaño de la pantalla. Se cambia en los dos últimos dígitos.
Como indica aquí el vídeo de abajo usando la consola en C#, haciendo sistemas de menús y submenús. Quiero hacer el mejor diseño de cambiar a una página o otra como las páginas Web.
LAs páginas Web de HTML puro y duro, voy de una página a otra. En temas de consolas C#.
¿Cuál es la idea correcta y no haya desbordamiento de pila?
Porque cada página que la llamo ventana, lo hacía con void, es decir, como un archivo.html de una página Web.
Se sabe que es modular, eso es lo bueno, no te interesa una página o archivo.html lo quitas y no hay problemas, o lo pones, sin desbordamiento de pila ni nada.
Estuve viendo, que no esté llamando una función dentro de otra sin acabar la anterior. Para eso mejor los goto. (Recordar, no se recomienda su uso para evitar malas prácticas de programación).
Dice que, puedo volver con un parámetro a la función principal e indicando en ese parámetro a dónde ir.
¿Algún ejemplo de esto?
Otros me dicen que, use la forma de programar en consolas, modo máquinas de estados.
Todas las funciones que haga, se controla en la raíz, todas las variables que sean estáticas o globales en raíz, es decir, que cuando llames a una función y termine, vuelva a la raíz del programa y se va a otra función que yo le indique. Toda función en realidad es una ventana hecho en modo consola. Así no habrá riesgo todo el tema de pilas de llamadas, o hay desbordamiento de pila, o el programa se comporta de otra manera que no deseo, por ejemplo, se me va a otra ventana porque la función no había acabado.