小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


【VS2015】error C3688: リテラル サフィックス 'L' が無効です。

www.visualstudio.com

はじめに

Visual Studio 2015でソリューションをビルドした際に、以下のエラーになる場合があります。

error C3688: リテラル サフィックス 'L' が無効です。リテラル演算子またはリテラル演算子テンプレート 'operator ""L' が見つかりません[

対処方法

#defineの定義にスペースがないとダメみたいです。

#include "stdafx.h"

#define HOGEHOGE L"abc," L"def" // ->OK
#define HOGEHOGE L"abc,"L"def"  // ->NG

int main()
{
  wchar_t tmp[20] = { 0 };
  swprintf(tmp, 20, HOGEHOGE);
  printf("%ws\n", tmp);
  return 0;
}