Language: C++

#include <bits/stdc++.h>

using namespace std;

//vector<string> str_vec;
int count=0;
int N;
string S;

void add_str(string str,int index){
  for(int i=index+1;i<N;i++){
    //same_check
    if(str.find(S[i])== string::npos){
      str += S[i];
      //str_vec.push_back(str);
      count++;
      add_str(str,i);
    }
  }
}

int main() {
  string str_1 ="";
  //入力受付
  cin >> N;
  cin >> S;  
  
  string t;
  for(int i=0;i<N;i++){
    t =""+S[i];
    add_str(t,i);
    count++;
    /*
    //1mozime_check
    if(str_1.find(S[i])== string::npos){
      t =""+S[i];
      //str_vec.push_back(t);
      count++;
      add_str(t,i); 
      str_1 += S[i];
    }else{
      count++;
      //str_vec.push_back(t);
    }
    */
  }
    
  cout << count % 1000000007;

}




Compiler output:
a.cc: In function 'void add_str(std::string, int)':
a.cc:16:7: error: reference to 'count' is ambiguous
   16 |       count++;
      |       ^~~~~
In file included from /usr/include/c++/14/algorithm:86,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:51,
                 from a.cc:1:
/usr/include/c++/14/pstl/glue_algorithm_defs.h:101:1: note: candidates are: 'template<class _ExecutionPolicy, class _ForwardIterator, class _Tp> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, typename std::iterator_traits<_II>::difference_type> std::count(_ExecutionPolicy&&, _ForwardIterator, _ForwardIterator, const _Tp&)'
  101 | count(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
      | ^~~~~
In file included from /usr/include/c++/14/algorithm:61:
/usr/include/c++/14/bits/stl_algo.h:4025:5: note:                 'template<class _IIter, class _Tp> typename std::iterator_traits< <template-parameter-1-1> >::difference_type std::count(_IIter, _IIter, const _Tp&)'
 4025 |     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
      |     ^~~~~
a.cc:6:5: note:                 'int count'
    6 | int count=0;
      |     ^~~~~
a.cc: In function 'int main()':
a.cc:32:5: error: reference to 'count' is ambiguous
   32 |     count++;
      |     ^~~~~
/usr/include/c++/14/pstl/glue_algorithm_defs.h:101:1: note: candidates are: 'template<class _ExecutionPolicy, class _ForwardIterator, class _Tp> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, typename std::iterator_traits<_II>::difference_type> std::count(_ExecutionPolicy&&, _ForwardIterator, _ForwardIterator, const _Tp&)'
  101 | count(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
      | ^~~~~
/usr/include/c++/14/bits/stl_algo.h:4025:5: note:                 'template<class _IIter, class _Tp> typename std::iterator_traits< <template-parameter-1-1> >::difference_type std::count(_IIter, _IIter, const _Tp&)'
 4025 |     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
      |     ^~~~~
a.cc:6:5: note:                 'int count'
    6 | int count=0;
      |     ^~~~~
a.cc:48:11: error: reference to 'count' is ambiguous
   48 |   cout << count % 1000000007;
      |           ^~~~~
/usr/include/c++/14/pstl/glue_algorithm_defs.h:101:1: note: candidates are: 'template<class _ExecutionPolicy, class _ForwardIterator, class _Tp> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, typename std::iterator_traits<_II>::difference_type> std::count(_ExecutionPolicy&&, _ForwardIterator, _ForwardIterator, const _Tp&)'
  101 | count(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
      | ^~~~~
/usr/include/c++/14/bits/stl_algo.h:4025:5: note:                 'template<class _IIter, class _Tp> typename std::iterator_traits< <template-parameter-1-1> >::difference_type std::count(_IIter, _IIter, const _Tp&)'
 4025 |     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
      |     ^~~~~
a.cc:6:5: note:                 'int count'
    6 | int count=0;
      |     ^~~~~