的所有排列字符串我有以下代碼生成字符
#include <iostream>
#include <string>
using namespace std;
string generate(){
for (char c1='A';c1<='Z';c1++){
for (char c2='A';c2 <='Z';c2++){
for (char c3='A';c3<='Z';c3++){
for (char c4='A';c4<='Z';c4++){
return (new string *)(c1) + (new string*)(c2)+(new string*)(c3)+(new string*)(c4);
}
}
}
}
}
int main(){
return 0;
}
我要生成的字符串,但這裏是錯誤
1>------ Build started: Project: string_combinations, Configuration: Debug Win32 ------
1>Build started 9/11/2010 12:42:08 PM.
1>InitializeBuildStatus:
1> Touching "Debug\string_combinations.unsuccessfulbuild".
1>ClCompile:
1> string_combinations.cpp
1>c:\users\david\documents\visual studio 2010\projects\string_combinations\string_combinations\string_combinations.cpp(11): error C2064: term does not evaluate to a function taking 1 arguments
1>c:\users\david\documents\visual studio 2010\projects\string_combinations\string_combinations\string_combinations.cpp(11): error C2064: term does not evaluate to a function taking 1 arguments
1>c:\users\david\documents\visual studio 2010\projects\string_combinations\string_combinations\string_combinations.cpp(11): error C2064: term does not evaluate to a function taking 1 arguments
1>c:\users\david\documents\visual studio 2010\projects\string_combinations\string_combinations\string_combinations.cpp(11): error C2064: term does not evaluate to a function taking 1 arguments
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.82
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
請幫我感到困惑,爲什麼我不能直接從轉換字符串通過此方法字符串(char)
請注意事實上有24! = 620448401733239439360000可能的排列,所以運行上述程序(存儲每個排列的版本)將會以'內存不足'異常爆炸。運行在自己的risc上,而不是在一臺控制着核反應器或類似的東西的計算機上運行! – 2010-09-11 11:09:07
原來的代碼(我解釋它)是寫所有4個字符的字符串 - 只有26^4的可能性。 – DanJ 2010-09-11 12:18:30
-1:這是您在代碼中使用的所有內容的濫用。 – rubenvb 2010-09-11 12:33:43