2011-04-24 58 views
0

我剛剛學習C++,並慢慢地從使用HTML,CSS和Javascript到編寫代碼的全新方式(我仍然不太瞭解) 。但我已經能夠製作一個網絡瀏覽器程序。使用Visual C++字符串變量作爲對象

現在我已經需要使用變量,經過一番谷歌搜索已經制定了如何使用字符串(或至少一種方式來獲得他們的工作對我來說)就像這樣:

#include <string> 
namespace Browser1 { 
     using namespace std; 
... 
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { 
     String^ var = "label1"; 
     String^ var2 = "hello world"; 
     var->Text = var2; 
} 

但那麼我得到這些錯誤說Text是一個模棱兩可的符號。我幾乎肯定這是因爲我已經使用變量作爲對象,但爲什麼?

+0

請通過用四個空格縮進來格式化您的代碼。 – SLaks 2011-04-24 16:47:39

+1

我討厭你的代碼風格。 – 2011-04-24 16:53:22

+0

請注意,這是「託管C++」,與「C++」不同。 – 2011-04-24 16:54:35

回答

0

您認爲哪個對象會被鍵入爲導致這種情況的對象?

AFAICT你的問題是

 var->Text = var2; 

這是垃圾,因爲var被聲明爲String^(2線了),所以它不能有Text屬性。當然,你打算使用另一個變量? (如發件人?)

+0

但我將var定義爲「label1」2排隊,所以文本是label1的屬性還是我完全失去了情節? – 2011-04-25 02:30:20

+1

是的,我怕你有。 'String^var =「label1」'將**值**「label1」賦值給一個名爲'var'的**變量**,它被聲明爲** type **'String ^'(注意三個加粗的單詞: **類型**,**變量**和**值**)。因此,它是_is-a_字符串,不包含名爲「Text」的屬性。如果您想將「Hello world」文本分配給名爲label1的某個標籤,則需要編寫一些更類似於'label1-> Text =「Hello world」'的東西。沒有窗口/你的代碼我現在無法爲你提供更可靠的例子 – sehe 2011-04-25 09:33:33

+0

非常感謝你的幫助。 – 2011-04-25 14:00:21