Hola. Tengo este código en visual c++:
// Meto 9 espacios para que la línea
// 18 coincida con mi línea (ya que no puse el principio del archivo).
struct Calc
{
private:
Ezek::Int64 __vbuffer1;
Ezek::Int64 __vbuffer2;
bool __vbuffer;
gcroot<TextBox^> TBarraDeTexto;
public:
Calc(TextBox^ e)
{
TBarraDeTexto = e;
__vbuffer = true;
__vbuffer1 = Ezek::Int64(0);
__vbuffer2 = Ezek::Int64(0);
MaxNum = Ezek::Int64(0);
};
~Calc()
{
TBarraDeTexto.~gcroot();
}
Ezek::Int64 MaxNum;
void RefrescarBDT(TextBox^ TBarraDeTexto)
{
TBarraDeTexto->Text = vbuffer().ToString() + ",";
}
void InsertarNumero(int Numero, TextBox^ TBarraDeTexto)
{
if ((Ezek::Int64)NDigitos(vbuffer()) + 1 >= MaxNum)
{
// sonido de error
return;
}
vbuffer() = vbuffer() * 10 + Numero;
RefrescarBDT(TBarraDeTexto);
}
void QuitarNumero(TextBox^ TBarraDeTexto)
{
vbuffer() = vbuffer() / 10;
RefrescarBDT(TBarraDeTexto);
}
void QuitarTodosLosNumeros(TextBox^ TBarraDeTexto)
{
vbuffer() = 0;
RefrescarBDT(TBarraDeTexto);
}
void CambiarBuffer()
{
__vbuffer = (!__vbuffer);
}
Ezek::Int64 vbuffer()
{
if (__vbuffer) return __vbuffer1;
else return __vbuffer2;
}
};
Ese código está dentro de mi propio namespace Ezek junto muchos otros componentes, pero sólo este me da error (ni siquiera el me da warning los otros componentes, así que el problema está en este). Exactamente, el error reside en la línea del constructor Calc(TextBox^ e):
1>------ Build started: Project: Proyecto 1 (Calculadora Simple), Configuration: Debug Win32 ------
1>Compiling...
1>Proyecto 1 (Calculadora Simple).cpp
1>c:documents and settingsusuariomis documentosvisual studio 2008projectsproyecto 1 (calculadora simple)proyecto 1 (calculadora simple)calculadora(projecto1).h(18) : error C2512: 'Ezek::Int64' : no appropriate default constructor available
1>c:documents and settingsusuariomis documentosvisual studio 2008projectsproyecto 1 (calculadora simple)proyecto 1 (calculadora simple)calculadora(projecto1).h(18) : error C2512: 'Ezek::Int64' : no appropriate default constructor available
1>c:documents and settingsusuariomis documentosvisual studio 2008projectsproyecto 1 (calculadora simple)proyecto 1 (calculadora simple)calculadora(projecto1).h(18) : error C2512: 'Ezek::Int64' : no appropriate default constructor available
1>Build log was saved at "file://c:Documents and SettingsUsuarioMis documentosVisual Studio 2008ProjectsProyecto 1 (Calculadora Simple)Proyecto 1 (Calculadora Simple)DebugBuildLog.htm"
1>Proyecto 1 (Calculadora Simple) - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========