数据结构—顺序栈
本程序在VS2010及以上编译时可能会出现错误:
error C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
1> d:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility(2113) : 参见"std::_Copy_impl"的声明
请按照一下步骤处理:
注:引起该问题的主要原因是新的vs版本处于安全性的角度考虑,禁用了老版本的copy函数
MyUtil.h头文件源代码:
#ifndef _MYUTIL_H
#define _MYUTIL_H
#include<algorithm>
template <class T>
void ChangeSize1D(T* &a, const int oldSize, const int newSize)
{
}
#endif
MyStack.h头文件源代码:
#ifndef _MYSTACK_H
#define _MYSTACK_H
#include"MyUtil.h"
template<class T>
class MyStack
{
public:
private:
};
//构造函数
template<class T>
MyStack<T>::MyStack(int stackCapacity = 10):capacity(stackCapacity)
{
}
//析构函数
template<class T>
MyStack<T>::~MyStack()
{
}
//向栈中压入数据
template<class T>
void MyStack<T>::Push(const T& item)
{
}
//判断堆中是否为空
template<class T>
inline bool MyStack<T>::IsEmpty() const
{
}
//返回栈顶元素
template<class T>
inline T& MyStack<T>::Top() const
{
}
//删除栈顶元素
template<class T>
void MyStack<T>::Pop()
{
}
#endif
主程序源代码:
#include<iostream>
#include"MyStack.h"
#include"MyUtil.h"
using namespace std;
int main()
{
}