1

我尝试使用Dev c++. 它给了我疯狂的错误,打开头文件,如stddef.h. 我之前在尝试包含时遇到了一个问题,iostream.h但在我将其更改为iostream.

#include<iostream> //header files
#include<conio.h>
#include<stdio.h>
#include<process.h>
struct flight //structures
{
    int flino;
    char source[20];
    char destination[20];
    float price;
};
void input(flight flight1[],int num) //inputing details
{
    for(int i=0;i<num;i++)
    {
        cout<<"Enter the flight number: ";
        cin>>flight1[i].flino;
        cout<<"Enter the source: ";
        cin >> flight1[i].source;
        cout<<"Enter the destination: ";
        cin >> flight1[i].destination;
        cout<<"Enter the price: ";
        cin>>flight1[i].price;
    } 
}

void deletion(flight flight1[],int num) //deletion
{
    int pos=0,search,flag=0;
    cout<<"Enter the element to be deleted: ";
    cin>>search;
    for(int i=0;i<num;i++)
    {
        if(search==flight1[i].flino)
        {
            flag =1;
            cout<<"Element found at "<<i+1;
            pos++;
            break;
        }
    } 
    if(flag==0)
    {
        cout<<"Element not found, no deletion!!  ";
        exit(0);
    }
    for(int i=pos;i<num;i++)
    {
        flight1[i-1]=flight1[i];
    }
    num=num-1;
}
void sort(flight flight1[],int num) //sorting
{
    flight min,temp;
    int pos=0;
    for(int i=0;i<=(num-1);i++)
    {
        min=flight1[i];
        pos=i;
        for(int j=(i+1);j<=num;j++)
        {
            if(flight1[j].flino<min.flino)
            {
                min=flight1[j];
                pos=j;
            }
        }
        temp=min;
        min=flight1[i];
        flight1[pos]=temp;
    }
}

void display(flight flight1[],int num) //displaying
{
    for(int i=0;i<num;i++)
    {
        cout<<"The flight number is: ";
        cout<<flight1[i].flino;
        cout<<"The source: ";
        puts(flight1[i].source);
        cout<<"The destination: ";
        puts(flight1[i].destination);
        cout<<"The price is: ";
        cout<<flight1[i].price;
    } 
} 
int main()
{
    flight f[30];
    int n;
    cout<<"Enter the no. of flights: ";
    cin>>n;
    input(f,n);
    deletion(f,n);
    sort(f,n);
    display(f,n);
    getch();
}

每当我尝试编译此代码时,都会出现以下错误:

Compiler: TDM-GCC 4.6.1 64-bit
Executing  g++.exe...
g++.exe "C:\Users\admin\Desktop\new  2.cpp" -o "C:\Users\admin\Desktop\new  2.exe"  -ansi -ansi  -I"E:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include"  -L"E:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib" -static-libgcc
In file included from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/stddef.h:1:0,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:26,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/cwchar:46,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/bits/postypes.h:42,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iosfwd:42,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/ios:39,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/ostream:40,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iostream:40,
                from C:\Users\admin\Desktop\new  2.cpp:1:
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../x86_64-w64-mingw32/include/stddef.h:20:3: error: 'errno_t' does not name a type
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../x86_64-w64-mingw32/include/stddef.h:21:3: error: 'errno_t' does not name a type
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../x86_64-w64-mingw32/include/stddef.h:26:18: error: 'uintptr_t' does not name a type

e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../x86_64-w64-mingw32/include/stddef.h:218:1: error: '__MINGW_EXTENSION' does not name a type
In file included from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/cwchar:46:0,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/bits/postypes.h:42,

                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iosfwd:42,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/ios:39,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/ostream:40,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iostream:40,
                from C:\Users\admin\Desktop\new  2.cpp:1:

e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:105:59: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:108:60: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:146:50: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:147:51: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:178:80: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:207:9: error: 'size_t' does not name a type
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:222:9: error: 'size_t' does not name a type
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:224:9: error: 'size_t' does not name a type
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:225:77: error: 'size_t' has not been declared

e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:226:77: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:227:76: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:230:9: error: 'size_t' does not name a type

e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:233:9: error: 'size_t' does not name a type
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:298:1: error: 'size_t' does not name a type
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:300:1: error: 'size_t' does not name a type
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:302:1: error: 'size_t' does not name a type

e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:304:1: error: 'size_t' does not name a type
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:306:1: error: 'size_t' does not name a type
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:320:62: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:321:67: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:322:46: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:325:5: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/wchar.h:326:73: error: 'size_t' has not been declared
In file included from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/bits/postypes.h:42:0,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iosfwd:42,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/ios:39,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/ostream:40,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iostream:40,
                from C:\Users\admin\Desktop\new  2.cpp:1:
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/cwchar:151:11: error: '::mbrlen' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/cwchar:152:11: error: '::mbrtowc' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/cwchar:154:11: error: '::mbsrtowcs' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/cwchar:176:11: error: '::wcrtomb' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/cwchar:181:11: error: '::wcscspn' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/cwchar:182:11: error: '::wcsftime' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/cwchar:183:11: error: '::wcslen' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/cwchar:187:11: error: '::wcsrtombs' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/cwchar:188:11: error: '::wcsspn' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/cwchar:196:11: error: '::wcsxfrm' has not been declared
In file included from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/ios:41:0,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/ostream:40,
                from e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iostream:40,
                from C:\Users\admin\Desktop\new  2.cpp:1:
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/bits/char_traits.h: In static member function 'static std::size_t std::char_traits<wchar_t>::length(const char_type*)':
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/bits/char_traits.h:332:26: error: 'wcslen' was not declared in this scope

In file included from C:\Users\admin\Desktop\new  2.cpp:3:0:
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/stdio.h: At global scope:
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/stdio.h:191:65: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/stdio.h:207:54: error: 'size_t' has not been declared

e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/stdio.h:211:55: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/stdio.h:319:55: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/stdio.h:320:56: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/stdio.h:331:47: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/stdio.h:332:48: error: 'size_t' has not been declared
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/stdio.h:412:9: error: 'size_t' does not name a type
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/../../../../include/stdio.h:413:9: error: 'size_t' does not name a type
C:\Users\admin\Desktop\new  2.cpp: In function 'void input(flight*, int)':
C:\Users\admin\Desktop\new  2.cpp:16:3: error: 'cout' was not declared in this scope
C:\Users\admin\Desktop\new  2.cpp:16:3: note: suggested alternative:
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iostream:62:18: note:   'std::cout'
C:\Users\admin\Desktop\new  2.cpp:17:3: error: 'cin' was not declared in this scope
C:\Users\admin\Desktop\new  2.cpp:17:3: note: suggested alternative:
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iostream:61:18: note:   'std::cin'

C:\Users\admin\Desktop\new  2.cpp: In function 'void deletion(flight*, int)':
C:\Users\admin\Desktop\new  2.cpp:30:2: error: 'cout' was not declared in this scope
C:\Users\admin\Desktop\new  2.cpp:30:2: note: suggested alternative:
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iostream:62:18: note:   'std::cout'
C:\Users\admin\Desktop\new  2.cpp:31:2: error: 'cin' was not declared in this scope
C:\Users\admin\Desktop\new  2.cpp:31:2: note: suggested alternative:
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iostream:61:18: note:   'std::cin'
C:\Users\admin\Desktop\new  2.cpp:45:9: error: 'exit' was not declared in this scope
C:\Users\admin\Desktop\new  2.cpp: In function 'void display(flight*, int)':
C:\Users\admin\Desktop\new  2.cpp:79:3: error: 'cout' was not declared in this scope
C:\Users\admin\Desktop\new  2.cpp:79:3: note: suggested alternative:
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iostream:62:18: note:   'std::cout'
C:\Users\admin\Desktop\new  2.cpp: In function 'int main()':
C:\Users\admin\Desktop\new  2.cpp:93:2: error: 'cout' was not declared in this scope
C:\Users\admin\Desktop\new  2.cpp:93:2: note: suggested alternative:
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iostream:62:18: note:   'std::cout'
C:\Users\admin\Desktop\new  2.cpp:94:2: error: 'cin' was not declared in this scope
C:\Users\admin\Desktop\new  2.cpp:94:2: note: suggested alternative:
e:\dev-cpp\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.1/include/c++/iostream:61:18: note:   'std::cin'

Execution terminated

有人可以帮助我并告诉我我能做些什么来解决这个问题吗?请尽可能尽快回复。

编辑:我解决了上述问题。它现在只给我一些警告:

Compiler: Default compiler
Building Makefile: "C:\Users\admin\Documents\Coding\Makefile.win"
Executing  make...
make.exe -f "C:\Users\admin\Documents\Coding\Makefile.win" all
g++.exe -c main.cpp -o main.o -I"E:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"  -I"E:/Dev-Cpp/include/c++/3.4.2/backward"  -I"E:/Dev-Cpp/include/c++/3.4.2/mingw32"  -I"E:/Dev-Cpp/include/c++/3.4.2"  -I"E:/Dev-Cpp/include"   

In file included from E:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h:31,
                from main.cpp:1:
E:/Dev-Cpp/include/c++/3.4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.

g++.exe main.o  -o "Test.exe" -L"E:/Dev-Cpp/lib"  

Execution terminated
Compilation successful

那不是关于我使用 iostream.h 而不是 iostream 的吗?

更新:我了解到这using namespace std;将解决与此相关的所有问题。

4

3 回答 3

2

你读过错误吗? coutcin驻留在命名空间中,特别是命名空间std,所以......

cin >> whatever; // incorrect

std::cin >> whatever; // correct

或者,您可以使用语句将整个std命名空间(或任何命名空间)带入全局命名空间。using但是,永远不要在标头中执行此操作,因为它会污染全局命名空间,并且出于同样的原因,请注意在实现文件中执行此操作。在这里使用您的最佳判断。

using namespace std;

// ...

cin >> whatever; // ok!

顺便说一句,如果你正在使用一本告诉你写作的书#include <iostream.h>……把它扔掉,买一本新书。

于 2013-01-01T19:16:27.073 回答
1

如果您使用 C++ 编程,请不要使用这些标头:

#include<conio.h>
#include<stdio.h>
#include<process.h>

在标题之后,添加:using namespace std; 最后,而不是getch();使用:

system("pause");
return 0;

它现在可以工作了:)

于 2013-01-01T19:30:56.580 回答
0

我已经编译了代码并看到了。它的工作完美。请立即编译并查看。

#include<iostream.h>
#include<stdio.h>

using namespace std;

struct flight //structures
{
    int flino;
    char source[20];
    char destination[20];
    float price;
};
void input(flight flight1[],int num) //inputing details
{
    for(int i=0;i<num;i++)
    {
        cout<<"Enter the flight number: ";
        cin>>flight1[i].flino;
        cout<<"Enter the source: ";
        cin >> flight1[i].source;
        cout<<"Enter the destination: ";
        cin >> flight1[i].destination;
        cout<<"Enter the price: ";
        cin>>flight1[i].price;
    } 
}

void deletion(flight flight1[],int num) //deletion
{
    int pos=0,search,flag=0;
    cout<<"Enter the element to be deleted: ";
    cin>>search;
    for(int i=0;i<num;i++)
    {
        if(search==flight1[i].flino)
        {
            flag =1;
            cout<<"Element found at "<<i+1;
            pos++;
            break;
        }
    } 
    if(flag==0)
    {
        cout<<"Element not found, no deletion!!  ";
        exit(0);
    }
    for(int i=pos;i<num;i++)
    {
        flight1[i-1]=flight1[i];
    }
    num=num-1;
}
void sort(flight flight1[],int num) //sorting
{
    flight min,temp;
    int pos=0;
    for(int i=0;i<=(num-1);i++)
    {
        min=flight1[i];
        pos=i;
        for(int j=(i+1);j<=num;j++)
        {
            if(flight1[j].flino<min.flino)
            {
                min=flight1[j];
                pos=j;
            }
        }
        temp=min;
        min=flight1[i];
        flight1[pos]=temp;
    }
}

void display(flight flight1[],int num) //displaying
{
    for(int i=0;i<num;i++)
    {
        cout<<"The flight number is: ";
        cout<<flight1[i].flino;
        cout<<"The source: ";
        puts(flight1[i].source);
        cout<<"The destination: ";
        puts(flight1[i].destination);
        cout<<"The price is: ";
        cout<<flight1[i].price;
    } 
} 
int main()
{
    flight f[30];
    int n;
    cout<<"Enter the no. of flights: ";
    cin>>n;
    input(f,n);
    deletion(f,n);
    sort(f,n);
    display(f,n);
    return 0;
}
于 2013-01-01T19:17:12.660 回答