小编Joh*_*son的帖子

使用vs typedef的别名

我正在学校的实验室工作,并在说明中说:

将定义Word_List的typedef更改为别名声明(使用)

从我用Google搜索过的方式来看,改变方法是:

typedef vector<Word_Entry> Word_List;
Run Code Online (Sandbox Code Playgroud)

至:

using Word_List = std::vector<Word_Entry>;
Run Code Online (Sandbox Code Playgroud)

但是当我编译时,我收到以下错误:

error: expected nested-name-specifier before 'Word_List'
Run Code Online (Sandbox Code Playgroud)

大部分代码:

#include <iostream>
#include <algorithm>
#include <list>
#include <string>
#include <vector>
#include <fstream>
#include <cctype>
#include <iomanip>

using namespace std;

struct Word_Entry
{
  string ord;
  unsigned cnt;
};

//typedef vector<Word_Entry> Word_List; <-This is what it used to look like
using Word_List = vector<Word_Entry>;


int main()
{
 ...
}
Run Code Online (Sandbox Code Playgroud)

附加信息:

Yes, I am compiling with c++11 
Word_Entry is a struct that stores 2 variables …
Run Code Online (Sandbox Code Playgroud)

c++ alias typedef using c++11

2
推荐指数
1
解决办法
3213
查看次数

SQL不会打印出我的变量

我正在使用SQL存储过程和动态SQL。当我尝试调试时,一切正常,直到打印出@columnName为止。

这是引起麻烦的代码部分:

DECLARE @query NVARCHAR(2000)
DECLARE @columnName NVARCHAR(250)
SELECT @query = 'SELECT myTable.value FROM myTable WHERE myConditions'
    EXECUTE sp_executesql @query, N'@columnName NVARCHAR(30) OUTPUT', @columnName OUTPUT
    PRINT N'query='+@query
    set @query = ''
    PRINT N'query after reset='+@query
    PRINT N'columnName='+@columnName
    PRINT N'any other message'
Select @query = 'SELECT myValues AS '''+@columnName+''',
                 FROM myTable2
                 WHERE myConditions';
EXEC(@query);
Run Code Online (Sandbox Code Playgroud)

这是输出消息:

query=SELECT myTable.value FROM myTable WHERE myConditions
query after reset=

any other message
Run Code Online (Sandbox Code Playgroud)

那么,我的columnName=输出在哪里?

编辑

SQL版本: Microsoft SQL Server 2012-11.0.2100.60(X64)2012年2月10日19:39:15版权所有(c)Windows NT 6.1(Build 7601:Service Pack 1)(Hypervisor)上的Microsoft …

sql debugging stored-procedures dynamic-sql sql-server-2012

2
推荐指数
1
解决办法
7210
查看次数

forloop,迭代器和向量不与我合作

为什么这对我来说很好:

 for(int i = 0; i < vec.size(); i++)
    {
        os << vec[i] << " ";
    }
Run Code Online (Sandbox Code Playgroud)

虽然这不是:

 for(vector<int>::iterator it = vec.begin(); it < vec.end(); it++)
    {
        os << vec[*it] << " ";
    }
Run Code Online (Sandbox Code Playgroud)

c++ iterator vector

1
推荐指数
2
解决办法
89
查看次数

循环遍历触发器中的临时表

我有一个包含临时表的触发器。现在我希望循环遍历临时表并在每一行上执行一些操作。有一些简单的方法可以做到这一点吗?我用谷歌搜索过,但对于这样一个简单的任务来说,一切似乎都过于复杂。

CREATE TRIGGER myTrigger AFTER UPDATE ON myTable
FOR EACH ROW
BEGIN
IF NEW.col <> OLD.col THEN
    DROP TEMPORARY TABLE IF EXISTS tmpTable;
    CREATE TEMPORARY TABLE IF NOT EXISTS tmpTable AS (my select statement);
    --For each row in tempTable--
        Do something
    --
    DROP TEMPORARY TABLE tmpTable;
END IF;
END
Run Code Online (Sandbox Code Playgroud)

mysql triggers loops

1
推荐指数
1
解决办法
5105
查看次数

二进制树的深拷贝

我有这个树与不同类型的节点,我需要进行深层复制.层次结构看起来像这样:

class AllNodes
{
    //this is a purely virtual base class
};
class TreeNode : public AllNodes
{
    AllNodes *rChild, *lChild;
};
class LeefNode : public AllNodes
{
    int value;
};
Run Code Online (Sandbox Code Playgroud)

问题是,当我想要对整个树进行深层复制时,我不知道哪些节点会有子节点以及哪些节点将具有值.我试过这个,但它不会工作(原因很明显):

void AllNodes::deepCopy(AllNodes* &copied, AllNodes* o)
{
    if(o->rChild == nullptr)
        copied->rChild = nullptr;
    else
    {
        copied->rChild = o->rChild;   
        deepCopy(copied->rchild, o->rChild);
    }

    if(o->lChild == nullptr)
        copied->lChild = nullptr;
    else
    {
        copied->lChild = o->lChild;
        deepCopy(copied->lChild, o->lChild);
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有人对如何实现这一点有一些想法?

c++ binary-tree deep-copy c++11

1
推荐指数
1
解决办法
2135
查看次数

从singledimentional数组创建多维数组

好的,所以我有这个字符串数组看起来像这样:

myArray[0] = "a0,b0,c0,d0"
myArray[1] = "a1,b1,c1,d1"
myArray[2] = "a2,b2,c2,d2"
myArray[3] = "a3,b3,c3,d3"
etc...
Run Code Online (Sandbox Code Playgroud)

我想创建一个多维数组,使用每个元素的第一部分作为"键".简而言之:

myMultiArray:
x/y|  0   |  1   |  2   |  3   |
------------------------
 0 | "a0" | "a1" | "a2" | "a3" |
 1 | "b0" | "b1" | "b2" | "b3" |
 2 | "c0" | "c1" | "c2" | "c3" |
 3 | "d0" | "d1" | "d2" | "d3" |
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的:

 private String[,] resultsParser(String[] inputArray)
    {
        String[] splittedString = null;
        String[,] outputString = null; …
Run Code Online (Sandbox Code Playgroud)

c# arrays parsing

0
推荐指数
1
解决办法
68
查看次数

初始化列表到构造函数

我正在学校里完成一项任务,我们应该在我们自己的List类中创建一个构造函数,它将初始化列表作为参数.

这是我希望能够做到的:

List ourList {1, 2, 3};
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止:

List::List(std::initializer_list<int> il)
{
  head_ = copy(il.begin(), il.end());
}

List_Node* List::copy(std::initializer_list<int>::iterator begin,
                      std::initializer_list<int>::iterator end)
{
  if(begin == end)
    return nullptr;

  List_Node* new_list = new List_Node(*begin);

  List_Node* node = copy(begin++, end);
  new_list->next_ = node;
  return new_list;
}
Run Code Online (Sandbox Code Playgroud)

以我的拙见,这应该很有效.但是,当我尝试初始化(List list {1,2,3};)时,我得到一个seg-fault.有人可以解释一下我在这里做错了吗?

c++ initialization initialization-list c++11

0
推荐指数
1
解决办法
96
查看次数

点击动态添加的元素什么都不做

我有一个div,当按下时会添加另一个具有相同类的div.但是当我点击动态添加的元素时,没有任何反应.

$('.container').on('click', function(){
  var newColumn = $('<li class="column"/>');
  var newState = $('<div class="container" unselectable="on">Nothing</div>');
  newState.appendTo(newColumn);
  newColumn.appendTo($('#canvas'));
});
Run Code Online (Sandbox Code Playgroud)
.container{
  border:1px solid black;
  width:100px;
  height:40px;
  text-align:center;
  vertical-align:middle;
  line-height:40px;
  border-radius:10px;
  
  -webkit-user-select: none; /* Chrome/Safari */        
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* IE10+ */
}

.column{
  list-style-type: none;
  display:inline;
  width:100px;
  float:left;
  margin:10px;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="canvas">
  <li class="column">
    <div class="container" unselectable="on">
      works
    </div>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

如何使点击事件适用于所有元素?

javascript jquery

0
推荐指数
1
解决办法
54
查看次数

在查询中添加包含值的列

我需要在查询中添加一个包含值的列.一个简化的例子:

exampleTable:

  ID     Fruit
+-----+---------+
|  0  |  Apple  |
+-----+---------+
|  1  |  Pear   |
+-----+---------+
Run Code Online (Sandbox Code Playgroud)

我想要一个添加以下硬编码列名+值的查询:

  ID     Fruit     MyFavorite
+-----+---------+-------------+
|  0  |  Apple  |      YES    |
+-----+---------+-------------+
|  1  |  Pear   |      NO     |
+-----+---------+-------------+
Run Code Online (Sandbox Code Playgroud)

要非常明确:我不想要任何新表,只需要提供此结果的查询.

如何实现这一结果?

编辑:这只是假表的一个例子.我希望任何更多的表,我并不想改变现有表中的值MyFavorite都应该被硬编码.

sql sql-server select

-5
推荐指数
2
解决办法
171
查看次数