2016-11-08 5 views
-2

Может ли кто-нибудь объяснить, почему функция cout в функции getMessage() не считывается. Моя цель - передать argv [i] как ранее сохраненное значение.Передача argv функции в виде сохраненной строки

Вот мой код. Я новичок в командной строке, любая помощь будет отличной.

#include <iostream> 
#include <string> 
using namespace std; 

void getMessage(string action); 

int main(int argc, char* argv[]) 
{ 

    string action = argv[1];  
    cout << action << endl; 
} 

void getMessage(string action) 
{ 
    cout << "I said " << action << endl; 

} 
+4

Вы не называете 'getMessage'. –

+0

Вы даете ему аргументы командной строки при запуске? – Galik

+0

@Galik Это не главное. –

ответ

1

Это действительно работа, потому что вы на самом деле не звоните getMessage(). Вместо этого это должно быть больше:

#include <iostream> 
#include <string> 

using namespace std; 

void getMessage(const string &action); 

int main(int argc, char* argv[]) 
{ 
    if (argc > 1) 
    { 
     string action = argv[1]; 
     getMessage(action); 
    } 
    else 
     cout << "no action specified" << endl; 

    return 0; 
} 

void getMessage(const string &action) 
{ 
    cout << "I said " << action << endl; 
} 
Смежные вопросы