【发布时间】:2023-03-24 00:26:02
【问题描述】:
我是 C++ 的新手,在尝试编译此代码时,我得到了一个我不知道如何修复的错误:
int main()
{
typedef pair<int,int> nodo;
int x;
cin >> x;
int *g;
g = new int[x];
vector <nodo> g;
g[1].push_back(nodo(2,5));
g[1].push_back(nodo(3,10));
g[3].push_back(nodo(2,12));
g[2].push_back(nodo(4,1));
g[4].push_back(nodo(3,2));
for (int i = 1; i <=4; ++i){
// cout << i << " -> ";
for (int j = 0; j<g[i].size(); ++j){
// cout << g[i][j].first << " c: " << g[i][j].second << " ";
}
// cout << endl;
}
dijkstra(1, x);
system("pause");
return 0;
}
我收到的错误是:
Error: Expression must have a class type.
【问题讨论】:
-
你从哪里得到这个错误?
-
请不要使用
system("pause");...just don't。 -
@EtiennedeMartel 我在这里收到错误:g[1].push_back(nodo(2,5)); g[1].push_back(nodo(3,10)); g[3].push_back(nodo(2,12)); g[2].push_back(nodo(4,1)); g[4].push_back(nodo(3,2));
-
@Volkanİlbeyli 这有什么问题?是慢 暂停吗?
-
@Abyx 类 Unix 系统没有。
标签: c++ types expression