以下C++代碼不能按我的意願工作。C++指向函數參數指針的指針
#include <string>
#include <iostream>
int Pointer_Function(char* _output);
int Pointer_to_Pointer_Function(char** text);
int main() {
char* input = "This";
printf("1. %s \n", input);
Pointer_Function(input);
printf("5. %s \n", input);
int test;
std::cin >> test;
}
int Pointer_Function(char* _output) {
_output = "Datenmanipulation 1";
printf("2. %s \n", _output);
Pointer_to_Pointer_Function(&_output);
printf("4. %s \n", _output);
return 0;
}
int Pointer_to_Pointer_Function(char** text) {
printf("3. %s \n", *text);
char* input = "HalliHallo";
text = &input;
printf("3.1. %s \n", *text);
return 0;
}
我希望作爲結果的printf的5 HalliHallo代替Datenmanipulation。因爲數據文本必須更改,因爲&輸入。
輸出:
1.This
2. Datenmanipulation 1
3. Datenmanipulation 1
3.1 HalliHallo
4. Datenmanipulation 1
5. This
預期結果:
1.This
2. Datenmanipulation 1
3. Datenmanipulation 1
3.1 HalliHallo
4. HalliHallo
5. HalliHallo
我怎能捨棄指針指向函數的參數? 爲什麼我的代碼無法使用?
我只是試圖運行你的代碼,它不適用於這種變化 –
它適用於我。 – Barmar
該代碼作爲發佈作品:http://coliru.stacked-crooked.com/a/303981c6ed6884c4 – rubenvb