Visual Studio, Xutility error
Visual Studio, Xutility error
我正在尝试使用std编写一个简单的程序,但是,每当我做Visual Studio时,都会给出基于Xutility文件的错误。
该文件是基本的,但是,我想测试一些功能,这是代码:
#include <iostream>
std::string text = "racecar", temp, revText;
bool yes;
void init(){
//std::cin >> text ;
reverseFunction(text);}
void reverseFunction(std::string userWord){
std::reverse(userWord, revText);}
int main(int argc, char *argv[]){
init();}
我正在使用VS 2015,但我在新笔记本电脑上安装了2017,两者都有相同的问题...这些是我得到的错误
C2794 'iterator_category':不是 'std::iterator_traits<_InIt>' 的任何直接或间接基类的成员 项目1 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xutility 967 错误
C2938"_Iter_cat_t":无法专用化别名模板 项目1 C:\程序文件 (x86)\Microsoft Visual Studio 14.0\VC\include\xutility 967 错误
C2062 类型"未知类型"意外的项目 1 c:\程序文件 (x86)\Microsoft Visual Studio 14.0\vc\include\xutility 967 错误 C2675 一元 "--": "std::string" 未定义此运算符或转换为预定义运算符 Project1 可接受的类型 c:\
program files (x86)\Microsoft Visual Studio 14.0\vc\include\xutility 3547
错误
C2675 一元 "++": "std::string" 未定义此运算符或转换为预定义运算符 Project1 可接受的类型 c:\程序文件 (x86)\Microsoft Visual Studio 14.0\VC\include\xutility 3547
是否有任何解决方法,因为我有两台机器,运行不同的版本,并且都有相同的问题,并且我无法使用错误进行编译
这个版本的代码可以修复它吗?
#include <iostream>
#include <string>
#include <algorithm>
std::string text = "racecar", temp, revText;
bool yes;
void reverseFunction(std::string userWord)
{
revText = userWord;
std::reverse(revText.begin(), revText.end());
}
void init()
{
//std::cin >> text ;
reverseFunction(text);
}
int main(int argc, char *argv[])
{
init();
}
有一些错误:
- 缺少
string
和algorithm
reverseFunction()
是在init()
之后定义的,因此编译器找不到它根据文档,
std::reverse
将begin
和end
迭代器作为参数,而不是要反转的字符串以及要存储它的位置。这是有原因的:1-数据转换就地完成,
2-STL算法是通用的,与容器无关:它们应该适用于任何以某种方式可迭代的集合。为了说服自己,你可以尝试这段代码:
#include <algorithm> #include <iostream> int main() { int t[] = { 0, 1, 2, 3, 4, 5 }; int len = sizeof t / sizeof(int); std::cout << "Before: "; for (int i = 0; i < len; ++i) std::cout << t[i] << " "; std::cout << std::endl; std::reverse(t, t + len); std::cout << "After: "; for (int i = 0; i < len; ++i) std::cout << t[i] << " "; std::cout << std::endl; return 0; }
这应该会给你以下输出:
Before: 0 1 2 3 4 5
After: 5 4 3 2 1 0
如您所见,该算法仍然有效,即使我们不使用 STL 容器,我们只是提供了类似迭代器的输入。
- "error: no matching function for call to"构造函数错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 使用 LuaBridge 将 LuaJIT 绑定到C++会导致"PANIC: unprotected error"
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- C++错误:"error: int aaa::bbb is protected within this context"
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- C++ "error: invalid use of void expression"
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- 如何修复"error: ‘_1’ was not declared in this scope"?
- 从不同目录执行时"symbol lookup error:",否则从构建目录执行时按预期工作
- 对象声明中的模板"error: expected expression"
- 在C++中使用 Catch 测试框架编译错误"error: expected ';' at end of declaration list"
- OpenCV 3.4.1 error readNetFromTensorflow 无法在 cv::d nn::ReadProtoFromBinaryFile 中打开 .pb
- 已解决 - C++ 的崇高文本中的"fatal error: opencv: no such file or directory"
- 为什么我会"error: expected expression"?
- CMake Error at modules/videoio/cmake/detect_ffmpeg.cmake:16
- 如果两个静态库使用相同的另一个静态库,如何避免"LNK2005 Already Defined error"?
- Visual Studio, Xutility error