求助!关于编译错误
  • 板块灌水区
  • 楼主C137_Rain
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/8/6 21:15
  • 上次更新2024/8/6 22:24:26
查看原帖
求助!关于编译错误
748918
C137_Rain楼主2024/8/6 21:15

rt,dev上可以正常运行,到洛谷上就编译错误。

#include<bits/stdc++.h>

#include<string>



using namespace std;



priority_queue<int> q;



int k,m,n; 

int u,v;

int j1,j2;

int a[300005];//总集合 

int b[300005];//辅助集合 

int c[300005];//拼接数字 



string str;



int main(){

	

	cin >> k >> m;

	a[0] = 1;

	for(int i=1;i<=k;i++){

		u = a[j1]*2+1;

		v = a[j2]*4+5;

		if(u<v){

			a[i] = u;

			j1+=1;

		}

		else if(u>v){

			a[i] = v;

			j2+=1;

		} 

		else if(u==v){

			a[i] = u;

			j1+=1;

			j2+=1;

		} 

	}

	sort(a,a+k);

	for(int i=0;i<k;i++){

		str += to_string(a[i]);

	}

	int l = str.length();

	for(int i=0;i<l;i++){

		c[i] = str[i]-'0';

		cout << c[i];

	}

	cout << "\n";

	while(m){

		if(n>l) n=0;

		if(c[n]<c[n+1]){

//			cout << "要删的数:" << c[n] << endl;

			c[n] = -1;

			m-=1;

		} 

		n+=1;

	}

	

	for(int i=0;i<l;i++){

		if(c[i]!=-1) cout << c[i];

	}

	

	return 0;

} 
/tmp/compiler_gv8yc_k2/src: 在函数‘int main()’中:
/tmp/compiler_gv8yc_k2/src:22:11: 错误:‘int [300005][double(double) noexcept {aka double(double)}]’用作数组下标类型无效
   22 |   u = a[j1]*2+1;
      |           ^
/tmp/compiler_gv8yc_k2/src:26:6: 警告:在算术表达式中使用了函数指针 [-Wpointer-arith]
   26 |    j1+=1;
      |    ~~^~~
/tmp/compiler_gv8yc_k2/src:26:6: 错误:向只读位置‘j1’赋值
/tmp/compiler_gv8yc_k2/src:34:6: 警告:在算术表达式中使用了函数指针 [-Wpointer-arith]
   34 |    j1+=1;
      |    ~~^~~
/tmp/compiler_gv8yc_k2/src:34:6: 错误:向只读位置‘j1’赋值

这是编译信息,我又触犯了什么天条了?

2024/8/6 21:15
加载中...