C ++追加函数,其中两个参数不起作用

时间:2017-11-29 17:37:18

标签: c++ visual-studio-6

我不是c ++开发人员,但我目前的项目是更新旧版c ++应用程序。

在整个应用程序中,我看到附加两个参数的语句。

strTemp.append( cDollars, len );

我试图理解C ++语言以及如何在这个遗留应用程序中实现它。

我坚持使用追加功能。

我可以使用三个参数来实现它。

#include <iostream>
#include <string>

using namespace std;

int main(){

   string msg = "Hi There!";
   string msg2;

   msg2.append(msg,0, 2);

   cout << msg2;
   cout << "\n";
   system("pause");
   return 0;
}

这会返回......

Hi
Press any key to continue . . .

我可以用一个参数来附加工作..

#include <iostream>
#include <string>

using namespace std;

int main(){

   string msg = "Hi There!";
   string msg2;

   msg2.append(msg);

   cout << msg2;
   cout << "\n";
   system("pause");
   return 0;
}

这会返回......

Hi There!
Press any key to continue . . .

问题在于我无法使用两个参数...

#include <iostream>
#include <string>

using namespace std;

int main(){

   string msg = "Hi There!";
   string msg2;

   msg2.append(msg, 1);

   cout << msg2;
   cout << "\n";
   system("pause");
   return 0;
}

--------------------Configuration: Program - Win32 Debug--------------------
Compiling...
Program.cpp
C:\USERS\E1009028\DOCUMENTS\VISUAL STUDIO 6 PROJECTS\SCRATCH\Program\Program.cpp(11) : error C2664: 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &__thiscall std::basic_string<char,struct std::char_traits<c
har>,class std::allocator<char> >::append(const char *,unsigned int)' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'const char *'
        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Error executing cl.exe.

Program.exe - 1 error(s), 0 warning(s)

这是Visual Studio 6(我是否提到了遗留应用程序?)。

谁能告诉我我失踪了什么?

谢谢,

0 个答案:

没有答案