2014-09-21 1 views
-1

Этот код является частью более крупной программы, я должен передать строку функции и получить строку обратно, но у меня возникают проблемы с возвращаемым типом. Почему следующий код не генерирует выходной TRIB 98строка возвращаемого типа в C++ не возвращает вывод

PS новичок здесь, надеюсь, код проводки формат правильно

#include <iostream> 
#include <string.h> 
#include <stdio.h> 
#include <string> 
using namespace std; 

string Platin(string x) 
{string ans = x + " 98" ; 
    return ans; } 

int main() 
{Platin("Trib");} 
+4

Вы никогда ничего выводить ... – chris

+1

http://www.cplusplus.com/doc/tutorial/basic_io/ – Erik

+0

Попробуйте 'string someVarName = Platin (" Trib ");'. –

ответ

3

Вызов Platin в основной возвращается строку, но вы никогда ничего не делать с этим. Изменение int main в

int main() 
{ 
    cout << Platin("Trib") << endl; 
} 

В качестве альтернативы, если вы не хотите, чтобы вывести возвращаемое значение, и просто хотите сохранить его для последующего использования, вы можете сделать это

int main() 
{ 
    string functionOutput = Platin("Trib"); 
} 
0

Вы не видите ничего, потому что вы не сказали, что вы хотите что-то вывести. Ваша линия:

Platin("Trib"); 

просто возвращает временный объект (строку), который не используется в любом месте (и это, конечно, не отображается). На практике, вам необходимо передать вновь созданную строку в standard output stream следующим образом:

#include <iostream> 
#include <string.h> 
#include <stdio.h> 
#include <string> 
using namespace std; 

string Platin(string x) 
{string ans = x + " 98" ; 
    return ans; } 

int main() 
{ 
    cout << Platin("Trib") << endl; // <- Instruct your program to output something 
} 
+0

Да, теперь я получил его. Используется для программирования в Java, и вам не нужно использовать system.out для получения метода вывода, насколько я помню. – slk

+0

@slk, Java работает так же. Возможно, вы имели в виду [Javascript] (http://i.imgur.com/kDATwqI.png). – chris

+0

@slk Euh, nope .. Java также использует потоки и не передает никакой информации в стандартные потоки, если это не указано специально. Рад, что это помогло! –

Смежные вопросы