2016-03-20 11 views
0

ich einige Funktionen in c Testen ++ aber wenn ich diesen Code verwenden es kompiliert, aber mein Programm nicht mit Fehlern: std :: bad_alloc Ich denke, es ist, weil ich nicht genügend Speicher oder der Vektor ist auch größerEtwas stimmt nicht mit dem Vektor? Erinnerung?

#include <iostream> 
#include <vector> 
#include <ctime> 

using namespace std; 

int main(void){ 

int temps = time(0); 
vector<int> vec(temps, 20); 
for(int i(0); i < vec.size() ;i++){ 
    cout << vec[i] << endl; 
}; 
} 
+5

Den Wert von 'temps' ausdrucken. Sie können feststellen, dass es * überraschend * groß ist. – usr2564301

+0

'int i (0)' Das scheint falsch. –

+2

@AkshayArora, vollkommen legal. C'tor-Syntax ist auch für integrierte Typen gültig. – StoryTeller

Antwort

2

time(nullptr) kehren Sie die Anzahl der Sekunden seit dem 1. Januar 1970 die derzeit rund ist 1458495645. So sind Sie derzeit ein std :: vector mit etwa 1,5 Milliarden mal die Zahl 20 bei der Initialisierung. ich denke, man hatte eine andere Absicht.

+0

Ja, ich merke nur, es ist nutzlos. Danke für die Antwort –

Verwandte Themen