2016-05-20 157 views
0

我正試圖編寫一個程序,它會通過電子郵件向我的手機發送文本消息,並且我已經完成了處理smtp和所有爵士樂的操作,所以技術部分是完成,它的工作原理,我只是想能夠在程序中輸入我想發送的主體/消息;這就是我:錯誤沒有操作符「>>」匹配這些操作數

int choice; 
cout << "Welcome\n 1:send a text message\n 2:quit\n"; 
cout << "type either 1 or 2: "; 
cin >> choice; 
if (choice == 1) 
{ 
const char* message; 
cout << "What would you like to send?: "; 
cin >> message; 

我成立了郵寄if語句,在那裏我把

mail.SetLogin("******"); 
mail.SetPassword("********"); 
mail.SetSenderName("****"); 
mail.SetSenderMail("***@gmail.com"); 
mail.SetReplyTo(""); 
mail.SetSubject("text"); 
mail.AddRecipient("******@tmomail.net"); 
mail.SetXPriority(XPRIORITY_NORMAL); 
mail.SetXMailer("The Bat! (v3.02) Professional"); 
mail.AddMsgLine(message); 

我得到一個錯誤消息說=錯誤沒有運營商「>>」內部電子郵件這些操作數 操作類型標準:: istream的常量>> *字符

匹配我知道我出了差錯設置爲消息的變量,它在尋找它的的#include庫,如果有人知道如何解決這個我會超級感激。

順便說一句我的#includes我現在所擁有的是

#include "CSmtp.h" 
#include <iostream> 
#include <Windows.h> 

回答

4

沒有>>超載,將流中的文本變成const char *。請使用std::string

+0

我把const * char的原因是因爲mail.AddMsgLine會顯示一條錯誤消息,說「沒有合適的轉換函數從」std:string到「const char *」存在 – dantheman

+2

@dantheman你可以使用'std :: string :: c_str()'得到一個C字符串傳遞給你的'mail.AddMsgLine'函數。 'std :: string :: c_str()'會返回一個'const char *' –

+0

@bkVnet我會在哪裏放std :: string :: c_str() – dantheman

相關問題