Dev C++ Does Not Name A Type

  1. Dev C Does Not Name A Type B
  2. Serial Does Not Name A Type
  3. Dev C++ Cout Does Not Name A Type
  4. I Does Not Name A Type

OK, I've seen this error explained at least 100 times on the net. But in every case, it seems to be an error of #including <string.h> instead of <string> or metioning string instead of std::string. But, I've done all those things. And it still does not work.

Jul 23, 2009  The components inside the Package Manager were binutils dev c map file dev c help file gcc-core gcc-g gnu debugger gnu make mingw runtime windows32 api I am also hesitant, because I'm not sure if installing these components would conflict w. The components I already have from the Dev C installed on my computer. Apr 30, 2013  @trojansdestroy: There is nothing wrong with a class named Main, in this case it is a design pattern in C;) I was linking @ne555 to an example of.

By way of background: I am a LONG time newbie C++ programmer (meaning that I write code in spurts and then not at all for several years, which means that whenever I advance beyond newbie status, I slide back after time). I have also traditionally been coding using the old Borland compiler (which works, even if it is ancient, but I like the IDE). I have now been trying to come into the 21st century by using gnu c++ (g++ and mingw). The code problem that I am presenting compiles using the Borland compiler, but gives me the error message only when I try to compile with g++.

The problem code:

You can see I use std::string and have this header protected with an #ifndef envelope. I am not using namespace in the header, which people tell me is a bad thing to do.

So, any suggestions??

Thanks for your time.

  • 3 Contributors
  • forum 5 Replies
  • 3 Hours Discussion Span
  • commentLatest Postby Schol-R-LEALatest Post


The C standard headers time.h and stdlib.h should not be used in C++ code. You need to using the C++ versions of these headers, which are included with #include <ctime> and #include <cstdlib>, respectively. Then, any function from these headers must also be prefixed with std:: like all other C++ standard library classes and functions.

Then, the _strdate and _strtime functions are not standard C/C++ functions. They are C functions provided by old Microsoft headers (included by time.h), and you should not use them if you want to write portable code (e.g., be able to use another compiler or OS beside Microsoft or Borland). The standard C++ equivalent of that code is this for example (using the '>strftime function):

If you look at the documentation for strftime that I linked to, you will find further options for formatting the date / time printout.

  • C++ Basics
  • C++ Object Oriented
  • C++ Advanced
  • C++ Useful Resources
  • Selected Reading

A variable provides us with named storage that our programs can manipulate. Each variable in C++ has a specific type, which determines the size and layout of the variable's memory; the range of values that can be stored within that memory; and the set of operations that can be applied to the variable.

The name of a variable can be composed of letters, digits, and the underscore character. It must begin with either a letter or an underscore. Upper and lowercase letters are distinct because C++ is case-sensitive −

There are following basic types of variable in C++ as explained in last chapter −

Sr.NoType & Description


Stores either value true or false.



Typically a single octet (one byte). This is an integer type.



The most natural size of integer for the machine.



A single-precision floating point value.



A double-precision floating point value.



Represents the absence of type.



A wide character type.

C++ also allows to define various other types of variables, which we will cover in subsequent chapters like Enumeration, Pointer, Array, Reference, Data structures, and Classes. is only tutorial and educational blog which help to guide for users to get features for their devices. If any matter with this tutorial blog, Please comments or email us. 3utools app install failed update.

Following section will cover how to define, declare and use various types of variables.

Dev C++ Does Not Name A Type

Variable Definition in C++

A variable definition tells the compiler where and how much storage to create for the variable. A variable definition specifies a data type, and contains a list of one or more variables of that type as follows −

Here, type must be a valid C++ data type including char, w_char, int, float, double, bool or any user-defined object, etc., and variable_list may consist of one or more identifier names separated by commas. Some valid declarations are shown here −

The line int i, j, k; both declares and defines the variables i, j and k; which instructs the compiler to create variables named i, j and k of type int.

Variables can be initialized (assigned an initial value) in their declaration. The initializer consists of an equal sign followed by a constant expression as follows −

Some examples are −

Dev C Does Not Name A Type B

For definition without an initializer: variables with static storage duration are implicitly initialized with NULL (all bytes have the value 0); the initial value of all other variables is undefined.

Variable Declaration in C++

A variable declaration provides assurance to the compiler that there is one variable existing with the given type and name so that compiler proceed for further compilation without needing complete detail about the variable. A variable declaration has its meaning at the time of compilation only, compiler needs actual variable definition at the time of linking of the program.

A variable declaration is useful when you are using multiple files and you define your variable in one of the files which will be available at the time of linking of the program. You will use extern keyword to declare a variable at any place. Though you can declare a variable multiple times in your C++ program, but it can be defined only once in a file, a function or a block of code.


Try the following example where a variable has been declared at the top, but it has been defined inside the main function −

When the above code is compiled and executed, it produces the following result −

Serial Does Not Name A Type

Same concept applies on function declaration where you provide a function name at the time of its declaration and its actual definition can be given anywhere else. For example −

Lvalues and Rvalues

There are two kinds of expressions in C++ −

  • lvalue − Expressions that refer to a memory location is called 'lvalue' expression. An lvalue may appear as either the left-hand or right-hand side of an assignment.

  • rvalue − The term rvalue refers to a data value that is stored at some address in memory. An rvalue is an expression that cannot have a value assigned to it which means an rvalue may appear on the right- but not left-hand side of an assignment.

Dev C++ Cout Does Not Name A Type

Variables are lvalues and so may appear on the left-hand side of an assignment. Numeric literals are rvalues and so may not be assigned and can not appear on the left-hand side. Following is a valid statement −

I Does Not Name A Type

But the following is not a valid statement and would generate compile-time error −

Comments are closed.