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 の代わりに iostream.h を使っていることではないでしょうか?

更新:using namespace std;これに関連するすべての問題を解決することを学びました。

4

3 に答える 3

2

エラーを読みましたか? 名前空間、具体的には名前空間に存在するcoutので...cinstd

cin >> whatever; // incorrect

std::cin >> whatever; // correct

または、ステートメントを使用して、名前空間全体(またはそれに関する任意の名前空間)をグローバル名前空間に取り込むことができます。ただし、グローバル名前空間を汚染するため、ヘッダーでこれを実行しないでください。同じ理由で、実装ファイルでこれを実行する場合は注意が必要です。ここであなたの最善の判断を使用してください。stdusing

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 に答える