2017-11-21 3 views
-6

온라인으로 약간의 연구를했지만 Code :: Blocks에 표시된 오류 코드 -1073741676에 대한 설명을 찾지 못했습니다.C++ 상태 -1073741676

정확한 오류 메시지는 Process terminated with status -1073741676 (0 minute(s), 8 second(s))입니다.

이 정확한 상태에 대한 전역적이고 지속적인 설명이 있습니까? 아니면 컴파일러, IDE 또는 다른 변수로 변경됩니까?

코드 (내가 할 수있는만큼 최소) :

MAIN.CPP

int n(0), choix(0); 
    string dis; 
    // Nobel* laureats = saisie(n); // Saisie à la main 

    Nobel* laureats = lecture(n); 
    cin >> dis; 
    cout << agemoyen(laureats, n, dis) << endl; 

Nobel.h

#ifndef NOBEL_H_INCLUDED 
#define NOBEL_H_INCLUDED 

#include <string> 


struct Nobel 
{ 
    std::string nom, discipline; 
    int annee, age; 
    std::string pays; 
}; 
int agemoyen(Nobel* NO, int n, std::string dis); 
Nobel* lecture(int& n); 

#endif // NOBEL_H_INCLUDED 

Nobel.cpp이

int agemoyen(Nobel* NO, int n, string dis){ 
    int ages(0); 
    int total(0); 

    for(int i = 0 ; i < n ; i++){ 
     if(NO[i].discipline == dis){ 
      ages += NO[i].age; 
      total++; 
     } 
    } 
    ages /= total; 

    return ages; 
} 

Nobel* lecture(int& n){ 
    Nobel* laureats; 

    ifstream fichier("tp7nobel.txt", ios::in); 

    if (fichier.is_open()) { 
     fichier >> n; 

     cout << n << endl; 
     laureats = new Nobel[n]; 

     for(int i = 0 ; i < n; i++){ 
      fichier >> laureats[i].nom >> laureats[i].discipline >> laureats[i].annee >> laureats[i].age >> laureats[i].pays; 
      cout << i << ")" << laureats[i]. nom << endl; 
     } 
     fichier.close(); 
    }else{ 
     cerr << "Impossible d'ouvrir ce fichier." << endl; 
    } 

    return laureats; 
} 
+0

코드를 붙여 넣으십시오 : 당신이 total 여부를 확인해야 가정 이 그것을 사용하기 전에 0이 아닌 EXCEPTION_INT_DIVIDE_BY_ZERO

UPDATE 여기, 그리고 그것을 [mcve] –

+0

@PasserBy 코드를 Minimal, Complete 및 Verifiable 예제에 따라 추가하십시오. – epidoxe

답변

3

-1073741676입니다 16 진수 값 0xC0000094 - 정수 나누기 b Windows에서 Y 제로 예외 코드

코드 : c0000094 설명 :

if (total) { 
    ages /= total; 
} 
+0

왜 이것을 downvoted입니까? 그것은 가난한 질문을 감안할 때 합리적인 대답처럼 보입니다. (+1) –

+0

다음 예외 코드 중 하나도 마음에 들지 않습니다. –

+0

답변 해 주셔서 감사합니다. 내 질문의 또 다른 부분은 : 다른 컴파일러를 통해이 상태 코드 상수는 0으로 예외를 설명하는 예외입니까? – epidoxe