C++ c++;获取非语法用法“&&引用;创建指针的步骤

C++ c++;获取非语法用法“&&引用;创建指针的步骤,c++,function,mp3,C++,Function,Mp3,我一直在编写代码,似乎无法通过c_str修复此错误:非标准语法;使用“&”创建指向成员的指针我不确定我做错了什么 HSAMPLE sample = BASS_SampleLoad(FALSE, fi.Recv_Song().c_str, 0, 0, 1, BASS_SAMPLE_MONO); 我从fi.Recv_song.c_str变量中得到错误,假设它是一个文件位置的字符串,因此它的函数可以从该位置播放mp3文件。另外,这个函数是我在头文件中做的 string &Get_Song(

我一直在编写代码,似乎无法通过c_str修复此错误:非标准语法;使用“&”创建指向成员的指针我不确定我做错了什么

 HSAMPLE sample = BASS_SampleLoad(FALSE, fi.Recv_Song().c_str, 0, 0, 1, BASS_SAMPLE_MONO);
我从fi.Recv_song.c_str变量中得到错误,假设它是一个文件位置的字符串,因此它的函数可以从该位置播放mp3文件。另外,这个函数是我在头文件中做的

string &Get_Song()
{
    cin >> song;                  //this is the header file it is in.
    mpc = path + song;
     return mpc;
}
string Recv_Song()
{
    return mpc;
}
换行:

HSAMPLE sample=BASS\u SampleLoad(FALSE,fi.Recv\u Song().c\u str,0,0,1,BASS\u sample\u MONO)

HSAMPLE sample=BASS\u SampleLoad(FALSE,fi.Recv\u Song().c\u str(),0,0,1,BASS\u sample\u MONO)


c_str()是一个函数,您必须将其作为一个函数调用。

c_str
是一个函数,而不是变量。投票以打字错误结束。这是导致错误的原因。似乎是错误代码givenYes,这是导致错误的原因。您需要调用该函数,就像您使用
Recv\u Song
一样。只是想知道-为什么要按引用返回字符串(mpc),然后按值返回?如果通过引用返回,考虑返回const引用-否则,用户可能会以不适合实现的方式修改字符串…错误错误消息-编译器应该考虑在代码添加之前添加<代码>(<)/代码>和''。几乎可以肯定的是,这两种方法中只有一种能使代码编译。