任何人都可以解释为什么getMessage()函数中的cout没有读出。我的目标是将argv [i]作为先前存储的值传递。
到目前为止,这是我的代码。我是命令行args的新手,任何帮助都会很棒。
#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;
}
答案 0 :(得分: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;
}