【发布时间】:2014-02-19 09:08:34
【问题描述】:
我编写了一个简单的 c++ 程序,我需要在其中获取已登录的用户。 我有一个主函数,在这个主函数中我调用了另一个获取用户名的函数。 问题是,如果我从 main 调用它,我会收到此错误 "表达式必须有一个指向对象的指针!"
这是我的代码:
void getUsername(wchar_t &user_name);
int main()
{
wchar_t user_name;
getUsername(user_name);
system("PAUSE");
return 0;
}
这里是获取用户名的函数
void getUsername(wchar_t &user_name)
{
user_name[UNLEN + 1];
DWORD size = UNLEN + 1;
GetUserName((TCHAR*)user_name, &size);
}
错误发生在用户名[UNLEN+1]; 我应该改变什么?
【问题讨论】:
-
您的
user_name是字符而不是字符串。您需要将指针传递给char,而不是char。在声明中改为wchar_t * user_name;,在函数原型和定义中改为void getUsername(wchar_t * user_name)
标签: c++ windows object pointers reference