Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.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/1/visual-studio-2012/2.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
VisualStudio 2010 C++不包括包含的文件 我对多个文件C++程序相当陌生,我有一个问题,我不确定我甚至可以解释清楚。问题是,我的一个.cpp文件不允许我使用其包含列表中包含的任何函数_C++_Visual Studio 2012_Include - Fatal编程技术网

VisualStudio 2010 C++不包括包含的文件 我对多个文件C++程序相当陌生,我有一个问题,我不确定我甚至可以解释清楚。问题是,我的一个.cpp文件不允许我使用其包含列表中包含的任何函数

VisualStudio 2010 C++不包括包含的文件 我对多个文件C++程序相当陌生,我有一个问题,我不确定我甚至可以解释清楚。问题是,我的一个.cpp文件不允许我使用其包含列表中包含的任何函数,c++,visual-studio-2012,include,C++,Visual Studio 2012,Include,以下是我所做的: 首先,我在main.cpp中编写代码。一切都很好,它编译并完全按照我的要求执行。现在我正试图将该代码移到client.cpp中,但我无法声明字符串、流或任何其他在main.cpp中正常工作的代码 下面是工作正常的代码: #include <stdio.h> #include <tchar.h> #include <iostream> #include <fstream> #include <direct.h> #inc

以下是我所做的: 首先,我在main.cpp中编写代码。一切都很好,它编译并完全按照我的要求执行。现在我正试图将该代码移到client.cpp中,但我无法声明字符串、流或任何其他在main.cpp中正常工作的代码

下面是工作正常的代码:

#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <fstream>
#include <direct.h>
#include <string>

#define SAVE_FILE_LOC "C:\\Saves\\"
int main()        
{        

    ofstream saveFile;    
    string loc;    
    string userName;    
    printf("Please enter your user name:\n");    

    getline(cin, userName);    

    loc = SAVE_FILE_LOC;    
    loc = loc + userName;    
    if (_mkdir(loc.c_str()) == -1){    
        printf("Location Already Exists!\n");
    }    
    else{    
        loc = loc + "\\Profile.txt";
        saveFile.open(loc.c_str());
        saveFile << "Test";
        saveFile.close();
    }    
    return 0;    
}        
现在,我做的唯一一件事就是右键单击VS中的“源文件”文件夹添加一个新的.cpp文件,将其命名为client.cpp,将上面的代码复制并粘贴到该文件中,但现在它不起作用

#include <stdio.h>        
#include <tchar.h>        
#include <iostream>        
#include <fstream>        
#include <direct.h>        
#include <string>        

#define SAVE_FILE_LOC "C:\\Saves\\"        

int login(void);        

int login(void)        
{        
    ofstream saveFile;    
    string loc;    
    string userName;    
    printf("Please enter your user name:\n");    

    getline(cin, userName);    

    loc = SAVE_FILE_LOC;    
    loc = loc + userName;    
    if (_mkdir(loc.c_str()) == -1){    
        printf("Location Already Exists!\n");
    }    
    else{    
        loc = loc + "\\Profile.txt";
        saveFile.open(loc.c_str());
        saveFile << "Test";
        saveFile.close();
    }    
    return 0;    
}        
我从上述代码中得到30个编译错误,下面是一个示例:

Error 1 error C2065: 'ofstream' : undeclared identifier ***\Client.cpp 14 1 ConsoleApplication4 Error 2 error C2146: syntax error : missing ';' before identifier 'saveFile' ***\Client.cpp 14 1 ConsoleApplication4 编译器告诉我,现在它突然不能创建字符串、流或其他任何东西。请注意,我在代码的include部分没有得到任何错误,因此它并没有告诉我它找不到库

在这种情况下,我甚至不知道我需要在这里查找什么,为什么在创建一个未命名为main的.cpp文件时,我的include不起作用


编辑:发现问题,主要使用名称空间std,我在client.cpp中没有该行。

标准库中的流的名称(如string)前面需要加上名称空间std:,您发布的内容也没有使用名称空间std;在includes或std::before类/函数下,尝试使用string、ofstream、getline

停止使用名称空间std;并开始在必要的地方放置std::prefix。很可能您没有包含所有必要的信息。您刚才是否将main.cpp的一部分复制到client.cpp?似乎main.cpp或它的一个包含项没有像使用namespace std那样包含一行;或者类似的东西。这正是问题所在,项目中包含的一个文件使用了namespace std。感谢您的帮助!