Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将C散列函数转换为C++;_C#_C++ - Fatal编程技术网

C# 将C散列函数转换为C++;

C# 将C散列函数转换为C++;,c#,c++,C#,C++,我在C#中有这个函数: 这给了我一个新的编译错误(这次只有一个,耶!) C2440“类型强制转换”:无法从“unsigned”int64(\uu cdecl std::basic\u string::*)(void)noexcept const”转换为“char*” 我不知道现在该怎么办。当C输入一个输入时,我需要C++函数与C语言的输出相同。 我在这里干什么?你是干什么的?你停止“翻译”,好像C++和C语言有什么共同点,用你的基本要求和你的C++书籍从头开始写。 在这种情况下,您的问题是错误

我在C#中有这个函数:

这给了我一个新的编译错误(这次只有一个,耶!)

C2440“类型强制转换”:无法从“unsigned”int64(\uu cdecl std::basic\u string::*)(void)noexcept const”转换为“char*”
我不知道现在该怎么办。当C输入一个输入时,我需要C++函数与C语言的输出相同。 我在这里干什么?

你是干什么的?你停止“翻译”,好像C++和C语言有什么共同点,用你的基本要求和你的C++书籍从头开始写。 在这种情况下,您的问题是错误地使用了成员函数。它是
str.length()
。编译器的抱怨是错误地使用函数名,而没有实际调用它。

你怎么办?你停止“翻译”,好像C++和C语言有什么共同点,用你的基本要求和你的C++书籍从头开始写。
在这种情况下,您的问题是错误地使用了成员函数。它是
str.length()
。编译器的抱怨是错误地使用了函数名,而没有实际调用它。

str.length不是一个属性,它是一个函数,需要()


在我作为C程序员的经验中,这是C程序员在编写C++时犯的最常见的错误之一。

< P>长度不是一个属性,它是一个函数,需要()


在我作为C程序员的经验中,这是C程序员在编写C++时犯的最常见的错误之一。

< P> >在St.StLew之后不要忘记括号。正确的类型应该是这样的

char* chPtr3 = (chPtr2 + str.length()) - 1;

不要忘记str.length后面的括号。正确的类型应该是这样的

char* chPtr3 = (chPtr2 + str.length()) - 1;

简短的回答是:C++不是C语言。简短的答案是:C++不是C语言。这个特殊的方法是非常的C++。我只是把括号弄乱了——我想IntelliSense会通知我的。@Karlovsky120:实际上不是。我已经通知你了;您只是不理解消息:)这个特殊的方法非常适合C++y。我只是把括号弄乱了——我想IntelliSense会通知我的。@Karlovsky120:实际上不是。我已经通知你了;你只是不明白这条信息:)
C3867 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>::length': non-standard syntax; use '&' to create a pointer to member
C2297 '+': illegal, right operand has type 'unsigned __int64 (__cdecl std::basic_string<char,std::char_traits<char>,std::allocator<char>>::* )(void) noexcept const'
char* chPtr3 = (chPtr2 + (char *)str.length) - 1;
C2440 'type cast': cannot convert from 'unsigned __int64 (__cdecl std::basic_string<char,std::char_traits<char>,std::allocator<char>>::* )(void) noexcept const' to 'char *'
char* chPtr3 = (chPtr2 + str.length()) - 1;