函数定义错误,类没有成员

Function definition error, class has no member

本文关键字:成员 定义 错误 函数      更新时间:2023-10-16

我正在做一个初学者级别的项目,创建一个使用Visual Studio和Windows表单计算工人工作时间的UI。我的错误在于以下函数,我尝试为文本框分配值。 所有"ToDouble"都显示错误类"System::String"没有成员"ToDouble",最后(S"F")显示标识符S未定义和预期)

void CalculateWeeklyHours(void)
         {
             double monday, tuesday, wednesday, thursday,
       friday, saturday, sunday, totalHours;
monday     = this->txtMonday->Text->ToDouble(0);
tuesday    = this->txtTuesday->Text->ToDouble(0);
wednesday  = this->txtWednesday->Text->ToDouble(0);
thursday   = this->txtThursday->Text->ToDouble(0);
friday     = this->txtFriday->Text->ToDouble(0);
saturday   = this->txtSaturday->Text->ToDouble(0);
sunday     = this->txtSunday->Text->ToDouble(0);
totalHours = monday + tuesday + wednesday + thursday +
             friday + saturday + sunday;
this->txtTotalHours->Text = totalHours.ToString(S"F");
             throw(gcnew System::NotImplementedException);
         }

完整代码在这里 http://ideone.com/ySgxp1

c:\users\administrator\documents\Visual Studio 2012\projects\form1\form1\TimeSheet1.h(604): 错误 C3921:使用 S 前缀字符串需要/clr:oldSyntax 命令行选项 1> 使用/clr 编译时,存在从字符串文本类型到 System::String^ 的隐式转换。 如有必要以避免歧义,请强制转换为系统::字符串^ 1>c:\用户\管理员\文档\Visual Studio 2012\项目\表单1\表单1\时间表1.h(594):错误 C2039:"ToDouble":不是"系统::字符串"的成员 1> c:\Program Files (x86)\reference assemblies\microsoft\framework.netframework\v4.5\mscorlib.dll : 参见 'System::String' 的声明 1>c:\用户\管理员\文档\Visual Studio 2012\项目\表单1\表单1\时间表1.h(595):错误 C2039:"ToDouble":不是"系统::字符串"的成员 1> c:\Program Files (x86)\reference assemblies\microsoft\framework.netframework\v4.5\mscorlib.dll : 参见 'System::String' 的声明 1>c:\用户\管理员\文档\Visual Studio 2012\项目\表单1\表单1\时间表1.h(596):错误 C2039:"ToDouble":不是"系统::字符串"的成员 1> c:\Program Files (x86)\reference assemblies\microsoft\framework.netframework\v4.5\mscorlib.dll : 参见 'System::String' 的声明 1>c:\用户\管理员\文档\Visual Studio 2012\项目\表单1\表单1\时间表1.h(597):错误 C2039:"ToDouble":不是"系统::字符串"的成员 1> c:\Program Files (x86)\reference assemblies\microsoft\framework.netframework\v4.5\mscorlib.dll : 参见 'System::String' 的声明 1>c:\用户\管理员\文档\Visual Studio 2012\项目\表单1\表单1\时间表1.h(598):错误C2039:"ToDouble":不是"系统::字符串"的成员 1> c:\Program Files (x86)\reference assemblies\microsoft\framework.netframework\v4.5\mscorlib.dll : 参见 'System::String' 的声明 1>c:\用户\管理员\文档\Visual Studio 2012\项目\表单1\表单1\时间表1.h(599):错误 C2039:"ToDouble":不是"系统::字符串"的成员 1> c:\Program Files (x86)\reference assemblies\microsoft\framework.netframework\v4.5\mscorlib.dll : 参见 'System::String' 的声明 1>c:\用户\管理员\文档\Visual Studio 2012\项目\表单1\表单1\时间表1.h(600):错误C2039:"ToDouble":不是"系统::字符串"的成员 1> c:\Program Files (x86)\reference assemblies\microsoft\framework.netframework\v4.5\mscorlib.dll : 参见 'System::String' 的声明 1>时间表1.cpp(7):警告 C4829:函数 main 的参数可能不正确。考虑 'int main(Platform::Array^ argv)'

你应该使用System.Convert类中的ToDouble(string)。http://msdn.microsoft.com/en-US/library/zh1hkw6k(v=vs.110).aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1