?
Solved

text-Box Long

Posted on 2003-12-01
2
Medium Priority
?
206 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
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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Written by John Humphreys C++ Threading and the POSIX Library This article will cover the basic information that you need to know in order to make use of the POSIX threading library available for C and C++ on UNIX and most Linux systems.   [s…
This article will show you some of the more useful Standard Template Library (STL) algorithms through the use of working examples.  You will learn about how these algorithms fit into the STL architecture, how they work with STL containers, and why t…
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.
Suggested Courses

589 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