萌新求助c++编译错误
  • 板块灌水区
  • 楼主zjy_qwq
  • 当前回复9
  • 已保存回复9
  • 发布时间2021/7/27 20:15
  • 上次更新2023/11/4 13:06:49
查看原帖
萌新求助c++编译错误
544776
zjy_qwq楼主2021/7/27 20:15

RT,代码如下,

#include<bits/stdc++.h>
using namespace std;
#define R register
#define w_ putchar(' ')
#define wn putchar('\n')
int n,a[1000005],t[1000005],ans;
char ch;
map<char,int>MAP;
inline void read(R int &y){
   R int s=0,w=1;
   R char ch=getchar();
   while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
   while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
   y=s*w;
}
inline void write(R int x){
    if(x < 0){
        putchar('-');
        write(-x);
        return;
    }
    if(x >= 10) write(x / 10);
    putchar(x % 10 + '0');
}
void msort(int l,int r){
	int i,j,m,k;
	if(l==r)return ;
	m=(l+r)/2,sort(1,m),sort(m+1,r),i=k=l,j=m+1;
	while(i<=m&&j<=r)
		if(a[i]>a[j])t[k]=a[j],ans=ans+m-i+1,j++,k++;
		else t[k]=a[i],i++,k++;
	while(i<=m)t[k]=a[i],i++,k++;
	while(j<=r)t[k]=a[j],j++,k++;
	for(int k=l;k<=r;k++)a[k]=t[k];
}
 int main(){
	ios::sync_with_stdio(0);
	read(n);
	for(int i=1;i<=n;i++){
		cin>>ch;MAP[ch]=i;
	}
	for(int i=1;i<=n;i++){
		cin>>ch;a[i]=MAP[ch];
	}
	msort(1,n);
	write(ans);
 	return 0;
}

错误信息:


            In file included from /usr/include/c++/8/bits/stl_algobase.h:65,
                 from /usr/include/c++/8/algorithm:61,
                 from /usr/include/x86_64-linux-gnu/c++/8/bits/stdc++.h:65,
                 from /tmp/compiler_xni6dsha/src:1:
/usr/include/c++/8/bits/stl_iterator_base_types.h: In instantiation of ‘struct std::iterator_traits<int>’:
/usr/include/c++/8/bits/stl_algo.h:1850:3:   required from ‘void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’
/usr/include/c++/8/bits/stl_algo.h:1885:25:   required from ‘void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’
/usr/include/c++/8/bits/stl_algo.h:1971:31:   required from ‘void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’
/usr/include/c++/8/bits/stl_algo.h:4834:18:   required from ‘void std::sort(_RAIter, _RAIter) [with _RAIter = int]’
/tmp/compiler_xni6dsha/src:28:20:   required from here
/usr/include/c++/8/bits/stl_iterator_base_types.h:168:53: 错误:‘int’不是类、结构或联合类型
       typedef typename _Iterator::iterator_category iterator_category;
                                                     ^~~~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_iterator_base_types.h:169:53: 错误:‘int’不是类、结构或联合类型
       typedef typename _Iterator::value_type        value_type;
                                                     ^~~~~~~~~~
/usr/include/c++/8/bits/stl_iterator_base_types.h:170:53: 错误:‘int’不是类、结构或联合类型
       typedef typename _Iterator::difference_type   difference_type;
                                                     ^~~~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_iterator_base_types.h:171:53: 错误:‘int’不是类、结构或联合类型
       typedef typename _Iterator::pointer           pointer;
                                                     ^~~~~~~
/usr/include/c++/8/bits/stl_iterator_base_types.h:172:53: 错误:‘int’不是类、结构或联合类型
       typedef typename _Iterator::reference         reference;
                                                     ^~~~~~~~~
In file included from /usr/include/c++/8/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/8/bits/stdc++.h:65,
                 from /tmp/compiler_xni6dsha/src:1:
/usr/include/c++/8/bits/stl_algo.h: In instantiation of ‘void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’:
/usr/include/c++/8/bits/stl_algo.h:1885:25:   required from ‘void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’
/usr/include/c++/8/bits/stl_algo.h:1971:31:   required from ‘void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’
/usr/include/c++/8/bits/stl_algo.h:4834:18:   required from ‘void std::sort(_RAIter, _RAIter) [with _RAIter = int]’
/tmp/compiler_xni6dsha/src:28:20:   required from here
/usr/include/c++/8/bits/stl_algo.h:1852:8: 错误:一元 ‘*’参数类型无效(有‘int’) 
        *__first = _GLIBCXX_MOVE(__val);
        ^~~~~~~~
In file included from /usr/include/c++/8/bits/stl_algobase.h:71,
                 from /usr/include/c++/8/algorithm:61,
                 from /usr/include/x86_64-linux-gnu/c++/8/bits/stdc++.h:65,
                 from /tmp/compiler_xni6dsha/src:1:
/usr/include/c++/8/bits/predefined_ops.h: In instantiation of ‘bool __gnu_cxx::__ops::_Iter_less_iter::operator()(_Iterator1, _Iterator2) const [with _Iterator1 = int; _Iterator2 = int]’:
/usr/include/c++/8/bits/stl_algo.h:1847:14:   required from ‘void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’
/usr/include/c++/8/bits/stl_algo.h:1885:25:   required from ‘void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’
/usr/include/c++/8/bits/stl_algo.h:1971:31:   required from ‘void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’
/usr/include/c++/8/bits/stl_algo.h:4834:18:   required from ‘void std::sort(_RAIter, _RAIter) [with _RAIter = int]’
/tmp/compiler_xni6dsha/src:28:20:   required from here
/usr/include/c++/8/bits/predefined_ops.h:43:16: 错误:一元 ‘*’参数类型无效(有‘int’) 
       { return *__it1 < *__it2; }
                ^~~~~~
/usr/include/c++/8/bits/predefined_ops.h:43:25: 错误:一元 ‘*’参数类型无效(有‘int’) 
       { return *__it1 < *__it2; }
                         ^~~~~~
In file included from /usr/include/c++/8/bits/stl_algo.h:61,
                 from /usr/include/c++/8/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/8/bits/stdc++.h:65,
                 from /tmp/compiler_xni6dsha/src:1:
/usr/include/c++/8/bits/stl_heap.h: In instantiation of ‘void std::__pop_heap(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’:
/usr/include/c++/8/bits/stl_algo.h:1675:19:   required from ‘void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’
/usr/include/c++/8/bits/stl_algo.h:1933:25:   required from ‘void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’
/usr/include/c++/8/bits/stl_algo.h:1948:27:   required from ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = int; _Size = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’
/usr/include/c++/8/bits/stl_algo.h:1968:25:   required from ‘void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’
/usr/include/c++/8/bits/stl_algo.h:4834:18:   required from ‘void std::sort(_RAIter, _RAIter) [with _RAIter = int]’
/tmp/compiler_xni6dsha/src:28:20:   required from here
/usr/include/c++/8/bits/stl_heap.h:252:7: 错误:一元 ‘*’参数类型无效(有‘int’) 
       *__result = _GLIBCXX_MOVE(*__first);
       ^~~~~~~~~
In file included from /usr/include/c++/8/bits/stl_pair.h:59,
                 from /usr/include/c++/8/utility:70,
                 from /usr/include/c++/8/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/8/bits/stdc++.h:65,
                 from /tmp/compiler_xni6dsha/src:1:
/usr/include/c++/8/bits/stl_heap.h:252:19: 错误:一元 ‘*’参数类型无效(有‘int’) 
       *__result = _GLIBCXX_MOVE(*__first);
                   ^

          
2021/7/27 20:15
加载中...