markdown 译文:C1061컴파일러오류가발생Visual C ++

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 译文:C1061컴파일러오류가발생Visual C ++相关的知识,希望对你有一定的参考价值。

# 현상
Visual Studio에서 if ~ else, for 구문이 250개가 넘으면 발생하는 컴파일 에러.

> 참고:
> https://msdn.microsoft.com/ko-kr/library/dcda4f64.aspx?f=255&MSPPError=-2147217396
> https://support.microsoft.com/en-us/help/315481/bug-too-many-unnested-loops-incorrectly-causes-a-c1061-compiler-error

# 해결

## 아이디어1: map과 OOP를 사용
```cpp
class ICommand
{
  public:
  virtual void execute() const = 0;
  virtual void ~ICommand(){};
};

class KeyUpCommand : public ICommand
{
  DWORD key_; //not suare about win api here
  public:
  KeyUpCommand(key) : key_(key) {};
  virtual void execute() const
  {
     keyUp(key_);
  };
};

class KeyDownCommand : public ICommand
{
  DWORD key_; //not suare about win api here
  public:
  KeyDownCommand(key) : key_(key) {};
  virtual void execute() const
  {
     keyDown(key_);
  };
};


int main()
{
  std::map<std::string, ICommand *> commands;
  commands["t-"]=new KeyUpCommand(VK_TAB);

  //execute now
  std::map<std::string, ICommand *>::const_iterator iter = commands.find(_specialKey);
  iter->second->execute();
};
```

以上是关于markdown 译文:C1061컴파일러오류가발생Visual C ++的主要内容,如果未能解决你的问题,请参考以下文章

css CSS파일내에서CSS파일불러오기

sh html파일중''('문자열이포함된라인중'#'문자가없는라인출력

输入框没有出现?

markdown bash프로파일설정파일차이

markdown 내가쓰는javascript필수라이브러리(https://github.com/sorrycc/awesome-javascript)

sh 파일에서특정문자열을찾아변형후새로운파일에저장하는스크립트