我在這裏丟失了什麼?我認爲^是一個智能指針,我可以通過引用傳遞一個函數。其他帽子物品呢?VC++通過Platform :: String ^參考
// calling code
MyClass::GetString(_str1, _str2);
// both strings are nullptr at this point
/* static */
MyClass::GetStrings(String^ str1, String^ str2)
{
// Read from Local Settings
auto value = localSettings->Values->Lookup(kKey);
String^ temp = ref new String(value->ToString()->Data());
str1 = temp;
// same for str2
}
究竟是不是在你認爲的方式工作? –
我想通過ref傳遞字符串。如果你看第1-2行,一個靜態函數在一個類中被調用,其中一些字符串參數爲_str1和_str2。 在函數GetStrings中,字符串被填充並且看起來都很好。當調用返回時(第3行),變量_str1和_str2不再有效。爲什麼? – VaporwareWolf
這兩個變量被設置爲臨時值,這是生活在堆棧上,並在函數返回時被刪除>什麼是正確的方法來做到這一點? – VaporwareWolf