I edited my Discord bot library to use VLC for media playback instead of ffmpeg so that it doesn't have to download the entire source before playing. Also plays more formats.
It was painful.
Also added an animu op trivia from openings.moe because it seemed like a fun idea.
-snip-
For emplace, you'll probably want to use push_back instead.
If you're adamant on using emplace, you should be able to get it to work by using files.emplace(files.begin() + static_cast<int>(SPRITE_RING1),"bkahajsds");
files.begin() returns an Iterator at the beginning of the files vector, then you add the numeric value of SPRITE_RING1 to it to get to your desired position.
Your last two errors are because you're switching based on a defined data structure instead of a variable. It's like trying to use switch(int).
You need a "sprite_file usedSprite;" variable in your class that actually holds a value. Then you could use switch(usedSprite)