我試圖讓程序寫出所有字符串的排列。這裏是我的代碼:排序功能中'operator ='不匹配
#include <stdio.h>
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
string input;
int length;
cin >> input;
input = sort(begin(input), end(input));
length = input.length();
do {
cout << input;
cout << "\n";
} while (next_permutation(input,input+length));
}
不過,我得到以下錯誤:
[path removed]\PermutIO.cpp|12|error: no match for 'operator=' in 'input = std::sort<__gnu_cxx::__normal_iterator<char*, std::basic_string<char> > >(std::begin<std::basic_string<char> >((* & input)), std::end<std::basic_string<char> >((* & input)))'|
我使用的代碼::塊與G ++,並設置它使用C++ 11的標準。什麼似乎是問題?
這正是問題;我認爲它會返回對象的排序版本。謝謝!一旦時限到期,我會接受你的回答。 –
@VirtualDXS好吧,沒有必要xD btw,我添加了如何閱讀錯誤信息並自行找到問題的描述:D – FalconUA
哦,我明白了。我不太理解「不匹配」是什麼意思。謝謝! –