私は C++ に非常に慣れていないので、ここ数日独学で勉強しています。私の質問が明らかであるか、以前に尋ねられた場合は、前もってお詫び申し上げます。解決策を何度も検索しましたが、表示されるすべての解決策は、私の直感が必要だと言っているよりも複雑であり、一般的に頭を悩ませています。 .. とにかく、長いイントロで申し訳ありませんが、私の質問に:
多肢選択式の質問からの入力に基づいて、wchar_t 配列 (これは単なる Unicode 文字列ですか?) の値を決定しようとしているだけです (または値を推測します... 配列はまだ少し怖いです)。
これが私がこれまでにやってきたことです:
#include "stdafx.h"
#include <iostream>
#include <string>
#include "easendmailobj.tlh"
using namespace EASendMailObjLib;
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
const int MAX = 65;
//char server[MAX], serverName[MAX], userName[MAX], password[MAX], from[MAX], to[MAX], msg[160];
//Choosing a SMTP server
int choice = 0;
bool logon = true;
bool ssl = true;
cout << "1)Gmail\n"
<< "2)Yahoo\n"
<< "3)Hotmail\n"
<< "4)None (Experemental)\n"
<< "5)Other (Advanced)\n"
<< "What kind of E-mail would you like to send from?:";
cin >> choice;
switch(choice) {
case 1: wchar_t server[] = _T("smtp.gmail.com");
char serverName[] = "Gmail";
break;
case 2: wchar_t server[] = _T("smtp.mail.yahoo.com");
char serverName[] = "Yahoo";
ssl = false;
break;
case 3: wchar_t server[] = _T("smtp.live.com");
char serverName[] = "Hotmail";
break;
case 4: wchar_t server[] = _T("");
logon = false;
ssl = false;
break;
case 5: cout << "Enter your server:";
char server[MAX];
wcin.getline(server, MAX, '\n');
cout << "Does your server require a login? (true or false):";
cin >> logon;
cout << "Does your server require an SSL connection? (true or false):";
cin >> ssl;
break;
default: cout << endl <<"You entered a wrong number, restart, and try again."
<< endl;
}
}
これはすべて問題ないように見えますが、コンパイルしようとすると、同じ変数を複数回宣言することに関するあらゆる種類のエラーがスローされます。最初にすべてを宣言してから、選択に基づいて定義しますが、私が読んだ限りでは、C++ では不可能です。
ここで本当に立ち往生しています。ご理解とご協力をよろしくお願いいたします。