?
Solved

text-Box Long

Posted on 2003-12-01
2
Medium Priority
?
201 Views
Last Modified: 2010-04-02
Hi boys,
i've realized a class named CasellaInt. This class check that the kind of data on input is of Int type. This class run well.
After i have realized the class CasellaLong. This class check that the kind of data on input is of Long type. But when i try to use it, i see this error on compilation: "
`CasellaLong' undeclared (first use this function)"  "(Each undeclared identifier is reported only once for each function it appears in.)"
I don't know why.
I use the object of this 2 class in the same function,and both the header file are included.
Help me please

These are the 2 file.cpp:

**********CasellaInt.cpp***************
// CasellaInt.cpp

#include <cmath>
#include "CasellaInt.h"


     
//controllo specifico per la suddetta classe
void CasellaInt::isValid()
{

  bool esito=true;
  errorMsg=string();
  int start = ( ( dato.at(0) == '-' ) ? 1 : 0 );   //da dove deve partire se c'è il segno meno
  for (int i=start; i<dato.size(); i++)
     if ( !isdigit( dato.at(i) ) )
        {
          errorMsg= "Il dato inserito non e' un numero intero";
          esito=false;
          break;
        }
  if (!esito)
     dato = errorDato;
 
}  
   

   
//costruttore


CasellaInt::CasellaInt(string mr, string dd, string ec, string ed="")
   : Casella(mr,dd,ec,"")
{
      errorDato = ed;
}

//restituzione dato come numero    
int CasellaInt::getDato()
{
  return atoi( dato.c_str() );    //conversione stringa vecchio stile C
}
     

//restituzione dato come stringa

string CasellaInt::getDatoString(){
  return dato;
}
**********end of CasellaInt.cpp***********

********CasellaLong.cpp**************
// CasellaLong.cpp

#include <cmath>
#include "CasellaLong.h"

 
//controllo specifico per la suddetta classe
void CasellaLong::isValid()
{
  bool esito=true;
  errorMsg = string();
  for (long i=0; i<dato.size(); i++)
     if ( !isdigit( dato.at(i) ) )
        {
          errorMsg= "Il dato inserito non e' un numero in formato corretto";
          esito=false;
          break;
        }
  if (!esito)
     dato = errorDato;
}  
   
       
//costruttore

CasellaLong::CasellaLong(string mr, string dd, string ec, string ed="")
   : Casella(mr,dd,ec,"")
{
      errorDato = ed;
}


//restituzione dato come numero  
 
long CasellaLong::getDato() {
  return atol( dato.c_str() );    //conversione stringa vecchio stile C
}
     

//restituzione dato come stringa

string CasellaLong::getDatoString(){
  return dato;
}
*************end of CasellaLong.cpp******************

0
Comment
Question by:zprestaz
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 17

Accepted Solution

by:
rstaveley earned 40 total points
ID: 9850822
Look at the top of CasellaLong.h and you'll see:

#ifndef CASELLAINT_H
#define CASELLAINT_H

This should probably be

#ifndef CASELLALONG_H
#define CASELLALONG_H

Otherwise, you'll not get the definitions if you've already included CasellaInt.h.
0
 

Author Comment

by:zprestaz
ID: 9850936
Tank you rstaveley, it was my fault
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: SunnyDark
This article's goal is to present you with an easy to use XML wrapper for C++ and also present some interesting techniques that you might use with MS C++. The reason I built this class is to ease the pain of using XML files with C++, since there is…
Introduction This article is the first in a series of articles about the C/C++ Visual Studio Express debugger.  It provides a quick start guide in using the debugger. Part 2 focuses on additional topics in breakpoints.  Lastly, Part 3 focuses on th…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
Suggested Courses

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question