Hiba nélkül lefordítja, de már nem futtatja? (C++)
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!
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
> #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
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!