我对此非常沮丧,所以我真的可以使用一些帮助。
我在visual studio中创建了一个新项目。我首先创建了一个名为“MyString,h”的新头文件,并将其放在头文件夹中。它包含一个名为String的类。你可以在这个
的末尾看到我用过它的代码我现在还在源文件文件夹中有一个MyStringTest.cpp文件。它包含以下代码。
#include <iostream>
#include "MyString.h"
using namespace std;
int main() {
String obj = "Hello";
cout << obj(1,3);
}
预期:编译并运行一个控制台程序,输出“llo” 现实:错误:'标识符'字符串'未定义
以下是我在头文件中的一些代码......我真的不能适应所有这些代码。
//1. Preprocessor commands - guards against multiple inclusions of the file MyString.h
#ifdef __MYSTRING_H__
#define __MYSTRING_H_
#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_NONSTDC_NO_DEPRECATE
//2. Include Files for String Methods and Assert
#include<cstring> //strlen, strcpy, strcmp
#include<cassert> //assert
#include<iostream> //cout, cin
using namespace std;
//3. Begin the String Class Interface
class String{
//4. Define the Public Members
public:
//5. Default Constructor
String();
//6. Constructor which converts a char* to a String object
String(const char *s);
...
答案 0 :(得分:2)
第一个代码行有点错误:你需要
#ifndef __MYSTRING_H__
否则你排除所有文件内容直到#endif