c++中使用index变量报错:error: ‘int index‘ redeclared as different kind of symbol

报错信息如下:

/judger/run/e9f1df8da21548be9d76e7a59262ca1f/main.cpp:7:5: error: 'int index' redeclared as different kind of symbol
 int index = 0;
     ^
In file included from /usr/include/c++/5/cstring:42:0,
                 from /usr/include/x86_64-linux-gnu/c++/5/bits/stdc++.h:48,
                 from /judger/run/e9f1df8da21548be9d76e7a59262ca1f/main.cpp:1:
/usr/include/string.h:477:1: note: previous declaration 'const char* index(const char*, int)'
 index (const char *__s, int __c) __THROW
 ^
/judger/run/e9f1df8da21548be9d76e7a59262ca1f/main.cpp: In function 'int main()':
/judger/run/e9f1df8da21548be9d76e7a59262ca1f/main.cpp:19:13: error: 'index1' was not declared in this scope
   cout << A[index1] << endl;
             ^
/judger/run/e9f1df8da21548be9d76e7a59262ca1f/main.cpp:20:8: error: no post-increment operator for type
   index++;
        ^
compilation terminated due to -fmax-errors=3.

代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long

const int maxn = 3e4 + 5;
ll A[maxn], B[maxn], m, n;
int index = 0;

int main() {
    
    
	cin >> n >> m;
	for(int i = 0; i < n; i++) {
    
    
		cin >> A[i];
	}
	for(int j = 0; j < m; j++) {
    
    
		cin >> B[j];
	}
	for(int k = 0; k < m; k++) {
    
    
		sort(A, A + B[k]);
		cout << A[index] << endl;
		index++;
	}
	return 0;
}

解释:c++的string中有一个函数就叫index,而我使用了万能头文件,包含了这个函数,命名冲突了!!

结论:慎用#include<bits/stdc++.h>

猜你喜欢

转载自blog.csdn.net/Cyril_KI/article/details/109668100