Kezdőoldal » Számítástechnika » Programozás » Hiba nélkül lefordítja, de...

Hiba nélkül lefordítja, de már nem futtatja? (C++)

Figyelt kérdés

A program nagyon egyszerű, csak két sorozatot szeretnék megadni, de a futtatást már nem éri meg, "main.exe működése leállt"-ot ír ki a képernyőre. Debugging-ra pedig azt írja ki, hogy "Program received signal SIGSEGV, Segmentation fault"


#include <iostream>


using namespace std;


int main()

{

//bekérés

int n,m;

int v1[n];

int v2[m];


//1. sorozat

do{

cout << "Kerem az 1. sorozat elemeinek szamat: ";

cin >> n;}

while(n<=0);


for(int i=0;i<n;i++){

cout << i+1 << ". elem: ";

cin >> v1[i];

}


//2. sorozat

do{

cout << "Kerem a 2. sorozat elemeinek szamat: ";

cin >> m;}

while(m<=0);


for(int i=0;i<m;i++){

cout << i+1 << ". elem: ";

cin >> v2[m];

}


return 0;

}


Köszi a segítséget!



2016. nov. 6. 12:21
1 2
 11/11 anonim ***** válasza:

> #5 A GCC nem hülye, csak a standard nem tiltja ezt a működést, ezért nem utasítja el.


A C++ szabvány tiltja ezt a működést. Ami miatt nem utasítja el, az hogy alapból a GCC nem az eredeti C++ szabványt alapján fordít hanem egy GNU kiterjesztés alapján ami megengedőbb.


Ha szabványos fordítót akarunk akkor azt meg kell mondani:

-std=c++14

2016. nov. 6. 16:13
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!