有以下代碼:
當我用buf是new出來的話push_back一個Node*會有問題,而我buf直接是在全域區宣告的就沒有問題:
#include<stdio.h>
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
#include<math.h>
#include<climits>
#include<map>
#include<set>
using namespace std;
class Node{
public:
vector<Node*>next;
vector<int>cost;
vector<int>count;
};//buf[1000];
int main(){
freopen("F://Temp/input.txt", "r", stdin);
int n, m;
cin >> n >> m;
Node *buf = new Node[n];//這樣的話下面(1)句會報錯
for (int i = 0; i < n - 1; ++i){//有n - 1條路
int s, t, c;
cin >> s >> t >> c;
buf[s].cost.push_back(c);
void *p;
Node* tmp = new(p) Node;
buf[s].next.push_back(tmp);//(1)
}
return 0;
}
有以下報錯:是在VS2013下的

請教是什么問題,我和同學看了很久也想不出事哪里出了問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/91546.html
