【发布时间】:2020-08-24 14:54:38
【问题描述】:
#include <bits/stdc++.h>
using namespace std;
void union(int x, int y, int link[], int size[])
{
int a = find(x, link); int b = find(y, link);
if (size[a] < size[b])
swap(a,b);
if ( a != b)
{
size[a] += size[b];
link[b] = link[a];
}
}
int main()
{
cout<<"Hello World";
return 0;
}
我就是想不通我到底做错了什么。我检查了多次,但无济于事。这可能是非常愚蠢的事情。它不断给出以下错误。
file.cpp:19:11: error: expected identifier before '(' token
void union(int x, int y, int link[], int size[])
^
file.cpp:19:12: error: expected unqualified-id before 'int'
void union(int x, int y, int link[], int size[])
^~~
file.cpp:19:12: error: expected ')'
before 'int'
【问题讨论】:
-
#include <bits/stdc++.h>和using namespace std;是一个相当有害的组合,因为 (a) 它是不可移植的,并且 (b) 它将整个 C++ 运行时库拉入全局命名空间,有进一步冲突的风险.
标签: c++ disjoint-sets disjoint-union